Redis基本操作

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: Redis基本操作

一、redis基本数据类型


  • redis保存的数据都是按照键值对来保存
  • 键(key)
  • 值(value)
  • 键的数据类型都是字符串
  • 值的类型有以下五种:


  1. 字符串(string)
  2. 哈希(hash)
  3. 列表(list)
  4. 无序集合(set)
  5. 有序集合(zset)


二、字符串(string)


添加修改字符串


  • set 键 值


  1. 如果键不存在,就是添加
  2. 如果键存在,就是修改


set user tom
# 添加一个键user值为tom
 set user hackett
# 把user的值改为hackett


  • setex 键 过期时间 值


  1. 过期时间单位为秒


setex user 5 jerry
# 添加一个键user值为jerry,过期时间为5秒


  • 添加多个键值对 -- mset 键1 值1 键2 值2 键3 值3 ......


mset user1 tom user2 hackett user3 jerry
# 同时添加3个键值对


  • 已有值后面追加 -- append 键 值


append user1 haha
# 向user1中追加值 haha


获取值


  • get 键


get user
# 获取user的值


  • mget 键1 键2 键3 ......


mget user1 user2 user3
# 获取3个键的值


删除键


  • del 键1 键2 键3


del user1 user2 user3
# 删除3个键


三、键命令


查找键


  • keys 键名
  • 可以支持 *


keys user1
# 查看键user1是否存在
keys *
# 查看所有键


判断键是否存在


  • exists 键


  1. 如果存在,返回1
  2. 如果不存在,返回0


exists user1
# 判断user1是否存在


查看对应键的value类型


  • type 键


type user1
# 查看user1对应的值的类型


设置已有键的过期时间


  • expire 键 秒数


expire user1 5
# 设置user1的过期时间为5s


查看键过期时间


  • ttl 键


  1. 返回0,代表有效时间,单位:秒
  2. 返回-1,代表永远有效
  3. 返回-2,代表键不存在


ttl key
# 查看key的有效时间


四、哈希hash


添加值


  • hset 键 字段 值


hset user1 name tom
# 增加一个hash类型的键值对,字段为name,值为tom


添加多个值


  • hmset 键 字段1 值1 字段2 值2 ......


hmset user2 name jerry sex female
# 添加user2的键,字段有两个


获取字段


  • hkeys 键


  1. 获取制定键的所有字段名


hkeys user2
# 获取键user2的所有字段


获取字段对应的值


  • hget 键 字段


hget user2 sex
# 获取user2键字段sex的值


获取多个字段的值


  • hmget 键 字段1 字段2


hmget user2 name sex
# 获取user2键字段name,sex的值


获取键所有字段的值


  • hvals 键


hvals user2
# 获取user2所有字段的值


获取键所有字段和值


  • hgetall 键


hgetall user2
# 获取user2的字段和值


删除字段


  • hdel 键 字段


hdel user2 sex
# 删除user2的sex字段


删除键


  • hdel 键


hdel user2
# 删除user2的键


五、列表list


添加值


  • lpush 键 值1 值2 ......


  1. 从列表左侧添加值


lpush luser1 tom
# 新建一个luser1的键,在左侧添加tom的值 值:tom


  • rpush 键 值1 值2 ......


  1. 从列表右侧添加值


rpush luser1 jerry
# 新建一个luser1的键,在右侧添加tom的值 值:tomjerry


插入值

  • linsert 键 before 或者 after 值 新值


  1. 在制定的值前面或者后面插入新值


linsert luser1 before jerry 11
# 在jerry前面插入新值11 值:tom11jerry
linsert luser1 after jerry 22
# 在jerry后面插入新值22 值:tom11jerry22


获取


  • lrange 键 start stop (返回列表里指定范围的值)


  1. 索引从左侧开始,第一个值的索引为0
  2. 索引可以是负数,表示从尾部开始计数,如:-1代表最后一个值,-2代表倒数第二个值
  3. start,stop为要获取值的索引


lrange luser1 0 -1
# 获取开始到结尾的值
lrange luser1 2 -1
# 获取从第三个到最后的值


修改


  • lset 键 索引 值


  1. 改指定索引的值


lset luser1 1 haha
# 把第二个元素的值改为haha


删除值


  • lrem 键 count 值


  1. count = 0 删除指定的所有值
  2. count < 0 删除从右往左指定数量的值
  3. count > 0 删除从左往右指定数量的值


lrem luser2 -1 h0
# 从后往前/从右往左,删除第一个h0
lrem luser2 0 h0
# 删除所有的h0


六、无序集合set


添加值


  • sadd 键 值1 值2 值3 ......


sadd suser aa bb cc
# 给键suser添加三个值


获取值


  • smembers 键


  1. 获取集合的值


smembers suser
# 获取键suser所有的值


删除值


  • srem 键 值


  1. 删除指定的值


srem suser aa
# 删除键suser的值aa


七、有序集合zset


添加值


  • zadd 键 score1 值1 score2 值2


  1. 添加值


zadd zuser 1 aa 3 bb 2 cc 5 dd
# 给键zuser添加4个值,并按照score从小到大自动排序 值:aaccbbdd

获取值


  • zrange 键 start stop [withscores]


  1. start 从 0开始
  2. 最后一个索引为-1
  3. withscores代表同时获取score


zrange zuser 0 -1 withscores
# 获取键zuser的所有值


通过score获取值


  • zrangebyscore 键 min max


  1. min代表score起始值
  2. max代表score结束值


zrangebyscore zuser 2 6
# 获取score从2到6的值


通过值获取score


  • zscore 键 值


  1. 得到指定值的score


zscore zuser dd
# 得到值dd的score


删除


  • zrem 键 值


  1. 删除指定的值


zrem zuser dd
# 删除值dd


通过score删除值


  • zremrangebyscore 键 min max


  1. min是要删除score的最小值
  2. max是要删除score的最大值


zremrangebyscore zuser 0 10
# 删除score从0到10到值


如果你觉得文章还不错,记得"点赞关注"


关注我的微信公众号【 加班猿 】可以获取更多内容

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
存储 NoSQL 安全
Redis相关命令详解及其原理:Redis基本操作、数据结构以及应用
Redis相关命令详解及其原理:Redis基本操作、数据结构以及应用
115 0
|
10天前
|
NoSQL Go Redis
如何使用 Go 和 `go-redis/redis` 库连接到 Redis 并执行一些基本操作
如何使用 Go 和 `go-redis/redis` 库连接到 Redis 并执行一些基本操作
11 1
|
1月前
|
NoSQL Redis 数据库
Redis中的常用命令非常丰富,涵盖了各种数据类型的基本操作以及服务器管理和维护的相关指令
【5月更文挑战第15天】Redis常用命令包括通用(如PING、SELECT)、键操作(KEYS、EXISTS、DEL)、字符串(SET、GET)、哈希(HSET、HGET)、列表(LPUSH、LPOP)、集合(SADD、SMEMBERS)和有序集合(ZADD、ZRANGE)等。这些命令用于数据操作及服务器管理,满足不同场景需求。了解更多命令,建议参考Redis官方文档。
39 2
|
24天前
|
存储 NoSQL Redis
Redis第七弹-Set与ZSET基本操作,Set(集合特点)SADD key member(注意这个key,必须是你自定义名字,不能用key)​编辑SMEMBERS key-查询所有的key
Redis第七弹-Set与ZSET基本操作,Set(集合特点)SADD key member(注意这个key,必须是你自定义名字,不能用key)​编辑SMEMBERS key-查询所有的key
|
10月前
|
存储 NoSQL Redis
redis 之 基本操作
redis 之 基本操作
|
1月前
|
存储 缓存 NoSQL
Redis的安装方法与基本操作
Redis是一个开源的内存数据结构存储系统,也可以用作数据库、缓存和消息中间件。它支持多种数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。
94 0
Redis的安装方法与基本操作
|
7月前
|
存储 NoSQL Redis
redis基本操作、数据结构以及应用
redis基本操作、数据结构以及应用
52 0
|
10月前
|
消息中间件 存储 NoSQL
深入理解Redis数据类型与基本操作
本篇深入剖析了Redis的多种数据类型与基本操作,为读者提供了对Redis丰富数据结构的深入理解和实际应用示例。我们首先介绍了字符串类型的设置与获取操作,以及字符串相关的命令,如获取字符串长度和追加字符串等。接着,深入探讨了列表类型的创建、操作和命令使用,演示了如何在列表中插入元素、获取范围内的元素以及弹出元素等。
226 0
|
NoSQL Redis
redis 基本操作命令1
redis 基本操作命令1
80 0
|
NoSQL Linux Redis
Redis学习10:linux下安装Redis进行基本操作
如果想起多台redis的服务,那么就需要通过这样来启动。
Redis学习10:linux下安装Redis进行基本操作