Redis 客户端命令大全

Redis 客户端命令涵盖了广泛的类别,包括键操作、字符串、哈希、列表、集合、有序集合、事务、脚本、服务器管理等。下面是一个 Redis 客户端命令的概述,按功能分类:

键(Key)命令

  • DEL key [key ...] 删除一个或多个键。
  • DUMP key 序列化给定键,并返回被序列化的值。
  • EXISTS key 检查给定键是否存在。
  • EXPIRE key seconds 设置键的过期时间(秒)。
  • EXPIREAT key timestamp 设置键的过期时间(Unix时间戳)。
  • KEYS pattern 查找所有匹配给定模式的键。
  • MOVE key db 将键移动到另一个数据库。
  • PERSIST key 移除键的过期时间,使其永不过期。
  • PEXPIRE key milliseconds 设置键的过期时间(毫秒)。
  • PEXPIREAT key timestamp 设置键的过期时间(Unix时间戳,毫秒)。
  • PTTL key 返回键的剩余生存时间(毫秒)。
  • RANDOMKEY 随机返回数据库里的一个键。
  • RENAME key newkey 改名并移动键到另一个数据库。
  • RENAMENX key newkey 只有当newkey不存在时才改名。
  • SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] 排序并返回键中存储的列表、集合或有序集合的成员。
  • TTL key 返回键的剩余生存时间(秒)。
  • TYPE key 返回键的类型。
  • UNLINK key [key ...] 异步地删除一个或多个键。

字符串(String)命令

  • GET key 获取存储在键中的字符串值。
  • GETBIT key offset 返回键中位的位置。
  • GETRANGE key start end 返回键中指定范围的子字符串。
  • GETSET key value 设置键的值并返回旧值。
  • INCR key 增加键中存储的整数值。
  • INCRBY key increment 增加键中存储的整数值。
  • INCRBYFLOAT key increment 增加键中存储的浮点数值。
  • MGET key [key ...] 获取所有(一个或多个)给定键的值。
  • MSET key value [key value ...] 同时设置一个或多个键的值。
  • MSETNX key value [key value ...] 当所有给定键都不存在时,同时设置一个或多个键的值。
  • PSETEX key milliseconds value 设置键的值和毫秒过期时间。
  • SETEX key seconds value 设置键的值和秒过期时间。
  • SET key value 设置键的值。
  • SETBIT key offset value 设置或清除键中位的位置。
  • SETEX key seconds value 设置键的值和过期时间。
  • SETNX key value 只有在键不存在时设置键的值。
  • SETRANGE key offset value 修改键中指定偏移量的字节。
  • STRLEN key 返回键中存储的字符串值的长度。

哈希(Hash)命令

  • HDEL key field [field ...] 删除一个或多个哈希表字段。
  • HEXISTS key field 查看哈希表键中指定的字段是否存在。
  • HGET key field 获取存储在哈希表中指定字段的值。
  • HGETALL key 获取在哈希表中指定键的所有字段和值。
  • HINCRBY key field increment 增加哈希表中字段的整数值。
  • HINCRBYFLOAT key field increment 增加哈希表中字段的浮点数值。
  • HKEYS key 获取所有哈希表中的字段。
  • HLLEN key 返回哈希表中字段的数量。
  • HSET key field value 设置哈希表字段的值。
  • HSETNX key field value 只有在字段不存在时设置哈希表字段的值。
  • HVALS key 获取所有哈希表中的字段值。

列表(List)命令

  • BLPOP key [key ...] timeout 删除并获取列表的第一个元素,或阻塞等待直到元素可用。
  • BRPOP key [key ...] timeout 删除并获取列表的最后一个元素,或阻塞等待直到元素可用。
  • BRPOPLPUSH source destination timeout 从一个列表中弹出一个值,插入到另一个列表并返回它;或阻塞等待直到元素可用。
  • LINDEX key index 通过索引获取列表中的元素。
  • LINSERT key BEFORE|AFTER pivot value 在列表的元素前或后插入元素。
  • LLEN key 获取列表的长度。
  • LPOP key 删除并返回列表的第一个元素。
  • LPUSH key value [value ...] 在列表前面添加一个或多个元素。
  • LPUSHX key value 如果列表存在,将值添加到列表的前端。
  • LRANGE key start stop 获取列表指定范围内的元素。
  • LREM key count value 移除列表中等于给定值的元素。
  • LSET key index value 设置列表中指定位置的元素。
  • LTRIM key start stop 修剪列表,只保留指定范围内的元素。
  • RPOP key 删除并返回列表的最后一个元素。
  • RPOPLPUSH source destination 从一个列表中弹出一个值,插入到另一个列表并返回它。
  • RPUSH key value [value ...] 在列表后面添加一个或多个元素。
  • RPUSHX key value 如果列表存在,将值添加到列表的尾部。

集合(Set)命令

  • SADD key member [member ...] 添加一个或多个成员到集合。
  • SCARD key 获取集合的基数(元素的数量)。
  • SDIFF key [key ...] 返回给定所有集合的差集。
  • SDIFFSTORE destination key [key ...] 同SDIFF命令,将结果存储在destination。
  • SINTER key [key ...] 返回给定所有集合的交集。
  • SINTERSTORE destination key [key ...] 同SINTER命令,将结果存储在destination。
  • SISMEMBER key member 检查给定成员是否在集合内。
  • SMEMBERS key 返回集合中的所有成员。
  • SMOVE src dst member 将成员从一个集合移到另一个集合。
  • SPOP key 移除并返回集合中的一个随机元素。
  • SRANDMEMBER key [count] 返回集合中一个或多个随机元素。
  • SREM key member [member ...] 移除集合中的一个或多个成员。
  • SUNION key [key ...] 返回给定所有集合的并集。
  • SUNIONSTORE destination key [key ...] 同SUNION命令,将结果存储在destination。

有序集合(Sorted Set)命令

  • ZADD key score member [score member ...] 将一个或多个成员元素及其分数添加到有序集合。
  • ZCARD key 获取有序集合的基数(成员的数量)。
  • ZCOUNT key min max 计算在有序集合中指定区间分数的成员数目。
  • ZINCRBY key increment member 有序集合中成员的分数增加。
  • ZINTERSTORE destination numkeys key [key ...] 计算给定一个或多个有序集合的交集并将结果集存储在新的有序集合。
  • ZLEXCOUNT key min max 计算在有序集合中指定字典区间内成员数量。
  • ZRANGE key start stop [WITHSCORES] 返回有序集合中指定区间的成员。
  • ZRANGEBYLEX key min max [LIMIT offset count] 返回有序集合中指定字典区间内的成员。
  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回有序集合中指定分数区间内的成员。
  • ZRANK key member 返回有序集合中指定成员的索引。
  • ZREM key member [member ...] 移除有序集合中的一个或多个成员。
  • ZREMRANGEBYLEX key min max 移除有序集合中所有处于给定字典区间内的成员。
  • ZREMRANGEBYRANK key start stop 移除有序集合中给定排名的成员。
  • ZREMRANGEBYSCORE key min max 移除有序集合中所有分数在给定区间内的成员。
  • ZREVRANGE key start stop [WITHSCORES] 返回有序集合中指定区间内的成员,通过分数从高到低排序。
  • ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 返回有序集合中指定分数区间内的成员,通过分数从高到低排序。
  • ZREVRANK key member 返回有序集合中指定成员的排名,有序集合成员按分数值递减(从大到小)排序。
  • ZSCAN key cursor [MATCH pattern] [COUNT count] 增量迭代有序集合中的元素(包括元素成员和元素分值)。
  • ZSCORE key member 返回有序集合中指定成员的分数。

事务(Transaction)命令

  • MULTI 标记一个命令请求的开始。
  • EXEC 执行所有事务块内的命令。
  • DISCARD 取消事务块内的所有命令。
  • WATCH key [key ...] 监控一个或多个键,如果在事务执行前这些键被其他命令所改动,则事务会被取消。

脚本(Scripting)命令

  • EVAL script numkeys key [key ...] arg [arg ...] 执行给定的Lua脚本,用给定的键和参数作为参数。
  • EVALSHA digest numkeys key [key ...] arg [arg ...] 使用预先计算的SHA1摘要执行给定的Lua脚本。
  • SCRIPT EXISTS sha1 [sha1 ...] 检查给定的脚本是否在脚本缓存中。
  • SCRIPT FLUSH 清空脚本缓存。
  • SCRIPT KILL 异步停止正在执行的脚本。
  • SCRIPT LOAD script 加载给定的Lua脚本并返回SHA1摘要。

服务器(Server)命令

  • CONFIG GET parameter 获取给定的配置参数。
  • CONFIG SET parameter value 设置给定的配置参数。
  • CONFIG RESETSTAT 重置统计信息。
  • INFO [section] 返回服务器的各种信息和统计。
  • LASTSAVE 返回最后一次成功保存数据库到磁盘的时间。
  • SHUTDOWN 关闭服务器。
  • PING 测试服务器是否响应。
  • QUIT 断开客户端连接。

其他命令

  • AUTH password 发送密码进行认证。
  • SELECT index 选择数据库。
  • SLAVEOF host port 设置服务器为另一个服务器的复制。
  • SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道。
  • PUBLISH channel message 将信息发送到指定的频道。
  • PUBSUB CHANNELS [pattern] 列出所有频道或匹配给定模式的频道。
  • PUBSUB NUMSUB channel [channel ...] 返回订阅者数量。
  • PUBSUB NUMPAT 返回模式订阅者的数量。
  • TIME 返回服务器的Unix时间戳和微秒数。

以上就是Redis客户端命令的概览,具体使用时,建议参考官方文档获取最详细的命令用法和最新的特性。

相关推荐
weixin_440401692 小时前
分布式锁——基于Redis分布式锁
java·数据库·spring boot·redis·分布式
三两肉5 小时前
如何使用缓存提升SpringBoot性能(EhCache和Redis方式)
spring boot·redis·缓存
陪我养猪吧7 小时前
Linux 服务器环境搭建
linux·服务器·redis·mysql·nginx·jdk·maven
givmchickenblood8 小时前
redis的setnx实现分布式锁
数据库·redis·分布式
清风撩耳ing9 小时前
Redis三种模式——主从复制、哨兵模式、集群
数据库·redis·nosql
鞥牧魂人11 小时前
数据库——redis常见面试题
数据库·redis·缓存
一橘Java小菜鸟12 小时前
利用Redis bitmap 实现签到案例
数据库·redis·缓存
青春丨猪头丨少年12 小时前
用Redis实现排行榜的详细用例
数据库·redis·缓存
Scora_liu13 小时前
resp 无法连接 redis 服务器
运维·服务器·redis
hello_读书就是赚钱16 小时前
Redis的zset的zrem命令可以做到O(1)吗?
数据库·redis·缓存