Redis常用指令

本文详细介绍了Redis中String、List、Hash、Set和ZSet等数据结构的核心操作命令,包括设置、获取、修改、检查、批量处理以及过期时间管理等,为开发者提供了全面的Redis命令参考。
摘要由CSDN通过智能技术生成

Redis常用指令

服务端命令

  • SAVE:同步保存数据到磁盘。
  • BGSAVE:异步保存数据到磁盘。
  • LASTSAVE:返回最后一次成功保存到磁盘的时间。
  • SHUTDOWN:安全地关闭Redis服务器。
  • BGREWRITEAOF:异步重写AOF文件,使得文件体积更小。

客户端命令

  • redis-cli -c -h 127.0.0.1 -p 6379 -a 123456:-c 以集群方式登录,-h ip地址, -p 端口, -a 密码
  • AUTH password:验证密码是否正确。
  • ECHO message:打印传入的字符串。
  • PING:检查服务器是否响应,通常用来测试连接是否有效。
  • QUIT:关闭客户端与服务器的连接。
  • SELECT index:切换到指定的数据库(Redis默认支持16个数据库)。

String类型操作

设置值

  • SET key value:设置指定 key 的值。
  • SETNX key value:仅在 key 不存在时设置值,返回 1 表示设置成功,0 表示 key 已存在。
  • SETEX key seconds value:设置 key 的值并在 seconds 秒后自动过期。
  • PSETEX key milliseconds value:类似于 SETEX,但以毫秒为单位设置过期时间。

获取值

  • GET key:获取 key 对应的值。
  • MGET key1 key2 ...:同时获取多个 key 的值。

修改值

  • APPEND key value:将 value 追加到 key 已存在的值末尾。
  • INCR key:将 key 中存储的数值加 1。
  • INCRBY key increment:将 key 中存储的数值增加指定的增量。
  • DECR key:将 key 中存储的数值减 1。
  • DECRBY key decrement:将 key 中存储的数值减少指定的数量。

检查与比较

  • EXISTS key:检查 key 是否存在。
  • STRLEN key:返回 key 值的字节长度。
  • GETRANGE key start end:返回 key 中指定范围的子字符串。
  • GETBIT key offset:获取 key 在指定偏移量上的位(bit)值。

批量操作

  • MSET key1 value1 key2 value2 ...:同时设置多个 key-value 对。
  • MSETNX key1 value1 key2 value2 ...:仅在所有给定 key 都不存在时,设置多个 key-value 对。

其他操作

  • DEL key:删除 key 及其关联的值。
  • TYPE key:返回 key 对应的存储类型,对于 String 类型返回 “string”。

过期时间相关

  • PEXPIRE key milliseconds:为 key 设置过期时间,单位为毫秒。
  • EXPIRE key seconds:为 key 设置过期时间,单位为秒。
  • TTL key:查询 key 的剩余生存时间(以秒为单位)。
  • PTTL key:查询 key 的剩余生存时间(以毫秒为单位)。

注意:上述内容仅为 Redis String 类型的部分核心操作命令,具体使用时还可能存在其他针对特定场景的命令。

List类型操作

添加元素

  • LPUSH key value [value ...]: 描述:将一个或多个值插入到列表头部。

  • RPUSH key value [value ...]:将一个或多个值插入到列表尾部。

获取元素

  • LINDEX key index:获取列表中指定索引位置的元素,索引从0开始。

  • LRANGE key start stop:获取列表指定范围内的元素,返回一个包含指定区间的成员列表。

删除元素

  • LPOP key:移除并返回列表的第一个元素。

  • RPOP key:移除并返回列表的最后一个元素。

  • LREM key count value:根据参数 count 的值,从列表中移除指定数量的值为 value 的元素。

查询列表信息

  • LLEN key:返回列表的长度。

  • LINSERT key BEFORE|AFTER pivot value:在列表的某个元素(pivot)前或后插入新元素(value)。

阻塞队列操作

  • BLPOP key1 [key2 ...] timeout:阻塞式地从任意给定列表的第一个非空列表中弹出第一个元素,若所有列表都为空,则等待至多timeout秒。

  • BRPOP key1 [key2 ...] timeout:与 BLPOP 类似,但会在任意给定列表的最后一个非空列表尾部弹出元素。

队列与栈间移动元素

  • RPOPLPUSH source destination:移除并返回 source 列表的最后一个元素,并将其原子性地添加到 destination 列表的头部。

Hash类型操作

设置/更新字段值

  • HSET key field value:将哈希表 key 中的字段 field 设置为 value ,如果 key 不存在则创建新的哈希表。如果 field 已存在,则覆盖原有值。

  • HMSET key field value [field value ...]:同时将多个 field-value 对设置到哈希表 key 中。

获取字段值

  • HGET key field:返回哈希表 key 中指定字段 field 的值。

  • HMGET key field [field ...]:返回哈希表 key 中一个或多个指定字段 field 的值。

查看哈希表信息

  • HGETALL key:返回哈希表 key 中的所有字段和值。

  • HKEYS key:返回哈希表 key 中的所有字段名。

  • HVALS key:返回哈希表 key 中所有字段对应的值。

  • HLEN key:返回哈希表 key 中字段的数量。

删除字段

  • HDEL key field [field ...]:从哈希表 key 中删除一个或多个指定字段。

判断字段是否存在

  • HEXISTS key field:判断哈希表 key 中,指定字段 field 是否存在。

数字类型的字段递增/递减

  • HINCRBY key field increment:将哈希表 key 中的字段 field 的整数值加上给定的增量 increment。

  • HINCRBYFLOAT key field increment:将哈希表 key 中的字段 field 的浮点数值加上给定的浮点数增量 increment。

多个字段递增/递减(Redis 6.2+)

  • HINCRBY-multi key field amount [field amount ...]:一次性对多个字段进行递增操作,此命令在 Redis 6.2 版本及以后提供。

遍历哈希表

  • HSCAN key cursor [MATCH pattern] [COUNT count]:迭代哈希表中的键值对,返回游标和键值对集合。

Set类型操作

添加元素

  • SADD key member [member ...]:将一个或多个成员添加到集合 key 中,如果成员已经是集合的成员,则不执行任何操作,并返回 0 。否则,向集合添加该成员并返回 1 。

删除元素

  • SREM key member [member ...]:从集合 key 中移除指定的一个或多个成员,如果成员不存在,则忽略该命令。

查询成员状态

  • SISMEMBER key member:判断 member 是否是集合 key 的成员,返回 1 表示是,返回 0 表示不是。

获取集合大小

  • SCARD key:返回集合 key 的成员数量。

集合交集、并集、差集操作

  • SINTER key [key ...]:返回一个集合的交集,该集合包含所有给定集合的共同成员。

  • SUNION key [key ...]:返回一个集合的并集,该集合包含所有给定集合的成员。

  • SDIFF key [key ...]:返回一个集合的差集,即所有只存在于第一个集合中,而不在其他给定集合中的成员。

将集合操作的结果保存到另一个集合

  • SINTERSTORE destination key [key ...]:计算给定集合的交集并将结果存储到 destination 集合中。

  • SUNIONSTORE destination key [key ...]:计算给定集合的并集并将结果存储到 destination 集合中。

  • SDIFFSTORE destination key [key ...]:计算给定集合的差集并将结果存储到 destination 集合中。

随机成员操作

  • SRANDMEMBER key [count]:从集合 key 中随机返回一个或多个成员。如果 count 为正数,则返回 count 个不同的随机成员;如果 count 为负数,则返回一个随机成员,并带上它在集合中的重复次数。

集合成员排序

  • SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]:(虽然 SORT 不仅仅用于 Set 类型,但它可用于集合并按照指定方式排序其成员,还可配合 STORE 参数将排序后的结果存入另一个集合中。)

ZSet类型操作

添加元素

  • ZADD key score member [score member ...]:将一个或多个成员及其分数(score)添加到有序集合 key 中,如果成员已存在,那么更新它的分数,并根据新的分数重新排序。

获取集合信息

  • ZRANGE key start stop [WITHSCORES]:返回有序集合 key 中指定区间内的成员,其中成员的位置按分数从小到大排序。可选参数 WITHSCORES 返回每个成员及其对应的分数。

  • ZCARD key:返回有序集合 key 的成员数量。

  • ZCOUNT key min max:计算有序集合 key 中,score 值介于 min 和 max 之间的成员数量。

  • ZSCORE key member:返回有序集合 key 中成员 member 的分数。

删除元素

  • ZREM key member [member ...]:从有序集合 key 中移除一个或多个成员。

范围查询

  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:返回有序集合 key 中指定分数区间内的成员,可以指定分数范围,并可以选择是否返回分数及分页查询。

  • ZREVRANGE key start stop [WITHSCORES]:同ZRANGE,但返回的是按 score 从大到小排序的成员。

  • ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:同ZRANGEBYSCORE,但返回的是按 score 降序排列的成员。

更新分数

  • ZINCRBY key increment member:有序集合 key 中,为成员 member 的分数增加指定增量 increment。

集合运算

  • ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]:计算多个有序集合的并集,并将结果存储到 destination 集合中,可选权重和聚合函数。

  • ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]:计算多个有序集合的交集,并将结果存储到 destination 集合中,同样支持权重和聚合函数。

排序操作

  • ZREVRANK key member:返回有序集合 key 中成员 member 的排名,按 score 降序排列。

  • ZRANK key member:返回有序集合 key 中成员 member 的排名,按 score 升序排列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值