有道无术,术尚可求,有术无道,止于术。
本系列Redis 版本 7.2.5
源码地址:https://gitee.com/pearl-organization/study-redis-demo
1. 说明
提示: 本篇文档会包含所有的命令,但是仅做简单介绍,后续会分篇介绍重要的命令,这里主要起到一个总览导航作用,点击命令会跳转到对应的官方详细介绍。
Redis 命令用于在服务器上执行操作,相当于数据库的 SQL ,其重要性不言而喻。对于开发人员来说,很少使用这些命令直接操作,一般都是通过客户端API进行调用,但是需要掌握一些重要的命令。
在Redis 中文网中可以查看命令手册,不过因为延迟问题,目前是 Redis 6.2 版本:
打开官方命令手册中可以查看最新的所有命令,在右侧可以根据分组进行过滤:
例如选择 String 后会显示 String 类型所有的命令:
点击具体的命令后,可以查看详情,首先是语法格式:
然后是版本、 时间复杂度(大
O表示法)ACL、 权限分类:
接着是命令介绍、相关示例:
2. 命令手册
下面已表格的形式,分类简介所有的命令,根据 Redis 官网的分组,命令分为以下两大类:
core:Redisstack:Redis Stack
core 包含以下分组:
Generic:基础通用- 数据类型:
String:字符串List:列表Hash:哈希Set:集合Sorted set:有序集合Stream:流HyperLogLog:基数统计Bitmap:位图Geospatial:地理空间
- 管理:
Connection management:连接管理Cluster management:集群管理Server managment:服务端管理
Pub/Sub:发布订阅Scripting and functions:脚本及函数Transactions:事务
stack 包含以下分组:
Bloom filter:布隆过滤器Cuckoo filter:布谷鸟过滤器Count-min sketch:JSON:Search and query:Triggers and functions:Auto-suggest:T-digest:Time series:时间序列Top-k:
2.1 Generic
Redis 作为 KV 型数据库,基础命令则主要包含了针对 Key 的相关操作,所有命令:
| 命令 | |
|---|---|
| COPY | 将存储在 key 处的值复制到目标 key |
| DEL | 用于删除 key |
| DUMP | 序列化给定 key ,并返回被序列化的值 |
| EXISTS | 检查给定 key 是否存在 |
| EXPIRE | 为给定 key 设置过期时间 |
| EXPIREAT | 用于为 key 设置过期时间,接受的时间参数是 UNIX 时间戳 |
| EXPIRETIME | key 将在该时间到期,返回 UNIX 时间戳 |
| KEYS | 查找所有符合给定模式的 key |
| MIGRATE | 将 key 原子性地从当前实例传送到目标实例的指定数据库上 |
| MOVE | 将当前数据库的 key 移动到给定的数据库中 |
| OBJECT ENCODING | 查看存储在 key 中的对象的内部编码 |
| OBJECT FREQ | 查看存储在 key 中的对象的对数访问频率计数器 |
| OBJECT IDLETIME | 查询自上次访问 key 中存储的值以来的时间(以秒为单位) |
| OBJECT REFCOUNT | 查看存储在 key 的引用计数 |
| PERSIST | 移除 key 的过期时间,key 将持久保持 |
| PEXPIRE | 设置 key 的过期时间,以毫秒计 |
| PEXPIREAT | 设置 key 过期时间的时间戳(unix timestamp),以毫秒计 |
| PEXPIRETIME | PEXPIRETIME与EXPIRETIME具有相同的语义,但以毫秒而不是秒为单位返回Unix的绝对过期时间戳 |
| PTTL | 以毫秒为单位返回 key 的剩余的过期时间 |
| RANDOMKEY | 从当前数据库中随机返回一个 key |
| RENAME | 修改 key 的名称 |
| RENAMENX | 仅当 newkey 不存在时,将 key 改名为 newkey |
| RESTORE | 反序列化给定的序列化值(由 DUMP 生成),并将它和给定的 key 关联 |
| SCAN | 迭代数据库中的 key |
| SORT | 对元素进行排序并显示排序结果,不影响这些类型里面存储的数据的排序 |
| SORT_RO | SORT命令的只读变体 |
| TOUCH | 更改 key 的最后访问时间 |
| TTL | 以秒为单位,返回给定 key 的剩余生存时间 |
| TYPE | 返回 key 所储存的值的类型 |
| UNLINK | 异步删除一个或多个 key |
| WAIT | 用于阻塞客户端,直到之前的写命令已被写到指定数量的副本为止 |
| WAITAOF | 用于阻塞客户端,直到之前所有写命令已被同步到 AOF 文件为止 |
2.2 数据类型
2.2.1 String
字符串是 Redis 的基本数据类型,值是字符串类型,所有命令:
| 命名 | 描述 |
|---|---|
| APPEND | 将 value 追加到 key 原来的值的末尾 |
| DECR | 将 key 中储存的数字值减一 |
| DECRBY | 将 key 所储存的值减去给定的减量值 ( decrement ) |
| GET | 设置指定 key 的值 |
| GETDEL | 获取 key 的值并删除该 key |
| GETEX | 获取 key 的值,并可选择设置其过期时间 |
| GETRANGE | 返回 key 中字符串值的子字符 |
| GETSET | 将给定 key 的值设为 value ,并返回 key 的旧值 |
| INCR | 将 key 中储存的数字值增一 |
| INCRBY | 将 key 所储存的值加上给定的增量值 ( increment ) |
| INCRBYFLOAT | 将 key 所储存的值加上给定的浮点增量值 ( increment ) |
| LCS | 实现了最长公共子序列算法,可用于评估字符串的相似程度 |
| MGET | 获取所有(一个或多个)给定 key 的值 |
| MSET | 同时设置一个或多个 key-value 对 |
| MSETNX | 同时设置一个或多个 key-value 对 |
| PSETEX | 以毫秒为单位设置 key 的生存时间 |
| SET | 设置指定 key 的值 |
| SETEX | 设置 key 的值为 value 同时将过期时间设为 seconds |
| SETNX | 只有在 key 不存在时设置 key 的值 |
| SETRANGE | 从偏移量 offset 开始用 value 覆写给定 key 所储存的字符串值 |
| STRLEN | 返回 key 所储存的字符串值的长度 |
| SUBSTR | 返回字符串值的子字符串,由偏移量开始和结束(两者都包含在内)决定 |
2.2.2 Hash
哈希散列是 Redis 基本数据类型,值中存储的是 Hash 表,特别适合用于存储对象,所有命令:
| 命名 | 描述 | |
|---|---|---|
| HDEL | 用于删除哈希表中一个或多个字段 | |
| HEXISTS | 用于判断哈希表中字段是否存在 | |
| HEXPIRE | 设置一个或多个字段的过期时间,秒为单位 | |
| HEXPIREAT | HEXPIREAT具有与HEXPIRE相同的效果和语义,但它没有指定TTL(生存时间)的秒数,而是使用Unix时间戳(以秒为单位) | |
| HEXPIRETIME | 给定key字段将在该时间点过期,返回自Unix时间戳(以秒为单位) | |
| HGET | 获取存储在哈希表中指定字段的值 | |
| HGETALL | 获取在哈希表中指定 key 的所有字段和值 | |
| HINCRBY | 为存储在 key 中的哈希表指定字段做整数增量运算 | |
| HINCRBYFLOAT | 为存储在 key 中的哈希表指定字段值加上指定浮点数增量值 | |
| HKEYS | 获取存储在 key 中的哈希表的所有字段 | |
| HLEN | 获取存储在 key 中的哈希表的字段数量 | |
| HMGET | 用于获取存储在 key 中的哈希表字段的值 | |
| HMSET | 用于设置存储在 key 中的哈希表字段的值 | |
| HPERSIST | 删除 key字段上现有的过期时间 | |
| HPEXPIRE | 与HEXPIRE类似,以毫秒为单位 | |
| HPEXPIREAT | 与HEXPIRE类似,使用Unix时间戳 | |
| HPEXPIRETIME | 与HEXPIRETIME具有相同的语义,使用Unix时间戳(以毫秒为单位) | |
| HPTTL | 与HTTL一样,返回具有过期设置的字段的剩余TTL(生存时间),但以毫秒而不是秒为单位 | |
| HRANDFIELD | 随机获取字段和值 | |
| HSCAN | 返回的每个元素都是一个元组,每一个元组元素由一个字段和值组成 | |
| HSET | 为哈希表中的字段赋值 | |
| HSETNX | 用于为哈希表中不存在的的字段赋值 | |
| HSTRLEN | 返回字段关联的值的字符串长度,如果键或字段不存在,则返回0 | |
| HTTL | 返回具有过期设置的字段的剩余TTL(生存时间),秒为单位 | |
| HVALS | 用于获取哈希表中的所有值 |
2.2.3 List
列表是 Redis 的基本数据类型,值存储的是列表,所有命令:
| 命名 | 描述 |
|---|---|
| LMOVE | 删除源列表的第一个或最后一个元素,并移入到目标列表中的第一个或最后一个位置 |
| LMPOP | 弹出一个或多个元素 |
| BLMOVE | LMOVE的阻塞变体 |
| BLMPOP | LMPOP的阻塞变体 |
| BLPOP | 移出并获取列表的第一个元素 |
| BRPOP | 移出并获取列表的最后一个元素 |
| BRPOPLPUSH | 从列表中弹出一个值,并将该值插入到另外一个列表中并返回它 |
| LINDEX | 通过索引获取列表中的元素 |
| LINSERT | 在列表的元素前或者后插入元素 |
| LLEN | 获取列表长度 |
| LPOP | 移出并获取列表的第一个元素 |
| LPOS | 返回列表中匹配元素的索引 |
| LPUSH | 将一个或多个值插入到列表头部 |
| LPUSHX | 将一个值插入到已存在的列表头部 |
| LRANGE | 获取列表指定范围内的元素 |
| LREM | 移除列表元素 |
| LSET | 通过索引设置列表元素的值 |
| LTRIM | 对一个列表进行修剪 |
| RPOP | 移除并获取列表最后一个元素 |
| RPOPLPUSH | 移除列表的最后一个元素,并将该元素添加到另一个列表并返回 |
| RPUSH | 在列表中添加一个或多个值 |
| RPUSHX | 为已存在的列表添加值 |
2.2.4 Set
Set 是 Redis 的基本数据类型,值存储的是自动排重的集合,所有命令:
| 命名 | 描述 |
|---|---|
| SADD | 向集合添加一个或多个成员 |
| SCARD | 获取集合的成员数 |
| SDIFF | 返回给定所有集合的差集 |
| SDIFFSTORE | 返回给定所有集合的差集并存储在 destination 中 |
| SINTER | 返回给定所有集合的交集 |
| SINTERCARD | 类似于 SINTER,但它不返回结果集,而是只返回结果的基数。返回集合的基数,该基数将由所有给定集合的交集产生 |
| SINTERSTORE | 返回给定所有集合的交集并存储在 destination 中 |
| SISMEMBER | 判断 member 元素是否是集合 key 的成员 |
| SMEMBERS | 获取一个集合的所有成员 |
| SMISMEMBER | 从存储在 key 处的集合值中返回一个随机元素 |
| SMOVE | 将 member 元素从 source 集合移动到 destination 集合 |
| SPOP | 移除并返回集合中的一个随机元素 |
| SRANDMEMBER | 返回集合中一个或多个随机数 |
| SREM | 移除集合中一个或多个成员 |
| SSCAN | 迭代集合中的元素 |
| SUNION | 返回所有给定集合的并集 |
| SUNIONSTORE | 所有给定集合的并集存储在 destination 集合中 |
2.2.5 Sorted Set
Zset 是 Redis 的基本数据类型,值存储的是排序集合,每个成员都关联了一个评分,所有命令:
| 命名 | 描述 |
|---|---|
| BZMPOP | 按照指定的排序方式推出多个队列中指定数量的元素 |
| BZPОPMAX | ZPOPMAX 的阻塞版本,作用相同,只是在目标集合中没有元素时会阻塞,timeout 参数指定了过期时间 (0 表示永不超时) |
| BZPOPMIN | 与 ZPOPMAX 一样,只是返回 score 最小的 |
| ZADD | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
| ZCARD | 获取有序集合的成员数 |
| ZCOUNT | 计算在有序集合中指定区间分数的成员数 |
| ZDIFF | 返回集合之间的差集 |
| ZDIFFSTORE | 返回集合之间的差集,并将结果存储在另一个新的有序集合中 |
| ZINCRBY | 有序集合中对指定成员的分数加上增量 increment |
| ZINTER | 用于计算多个有序集合的交集 |
| ZINTERCARD | 用于计算多个有序集合的交集,并返回成员个数 |
| ZINTERSTORE | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中 |
| ZLEXCOUNT | 计算有序集合中指定区间内成员的数量 |
| ZMPOP | 弹出一个或多个成员 |
| ZMSCORE | 从有序集合中获取多个成员的分数(score) |
| ZPOPMAX | 用于删除并返回集合中分数(score)最高的一个或多个元素。如果集合为空,则命令不执行任何操作 |
| ZPOPMIN | 用于删除并返回集合中分数(score)最低的一个或多个元素。如果集合为空,则命令不执行任何操作 |
| ZRANDMEMBER | 随机获取一个或多个元素 |
| ZRANGE | 获取指定范围内的成员 |
| ZRANGEBYLEX | 根据成员名称的字典顺序来返回有序集合中指定区间的成员。注意是基于成员名称的字典顺序,而不是分数(score)的大小 |
| ZRANGEBYSCORE | 返回有序集中指定分数区间内的成员,分数从高到低排序 |
| ZRANGESTORE | 绍 返回集合中指定排名范围内的成员,并将结果存储到指定key中 |
| ZRANK | 返回有序集合中指定成员的索引 |
| ZREM | 移除有序集合中的一个或多个成员 |
| ZREMRANGEBYLEX | 移除有序集合中给定的字典区间的所有成员 |
| ZREMRANGEBYRANK | 移除有序集合中给定的排名区间的所有成员 |
| ZREMRANGEBYSCORE | 移除有序集合中给定的分数区间的所有成员 |
| ZREVRANGE | 返回有序集中指定区间内的成员,通过索引,分数从高到底 |
| ZREVRANGEBYLEX | 根据字典范围返回成员,返回的成员顺序是反向的,即从高到低的字典顺序 |
| ZREVRANGEBYSCORE | 返回指定分数范围内的成员,并按照分数从高到低进行排序 |
| ZREVRANK | 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 |
| ZSCAN | 迭代有序集合中的元素(包括元素成员和元素分值) |
| ZSCORE | 返回有序集中,成员的分数值 |
| ZUNION | 计算一个或多个有序集的并集 |
| ZUNIONSTORE | 计算一个或多个有序集的并集,并存储在新的 key 中 |
2.2.6 Bitmap
Bitmap 基于 Redis String 类型实现,用于存储大量二进制位(0或1)的数据,每个位可以代表不同的状态或标识。所有命令:
| 命名 | 描述 |
|---|---|
| BITCOUNT | 统计给定范围内为1的位的数量 |
| BITFIELD | 对字符串类型的 key 进行基于位的操作 |
| BITFIELD_RO | 使用 BITFIELD命令进行只读操作 |
| BITOP | 执行针对多个 Bitmap 的并集、交集、差集等位操作 |
| BITPOS | 查找指定位值的第一个位置 |
| GETBIT | 获取指定偏移量处的位状态 |
| SETBIT | 设置指定偏移量处的位状态 |
2.2.7 HyperLogLog
Redis 2.8.9 版本引入了 HyperLogLog 用于基数统计的算法,用于估算一个集合中不同元素的数量(基数),所有命令:
| 命名 | 描述 |
|---|---|
| PFADD | 添加指定元素到 HyperLogLog 中 |
| PFCOUNT | 返回给定 HyperLogLog 的基数估算值 |
| PFDEBUG | 内部命令,仅用于开发测试 |
| PFMERGE | 将多个 HyperLogLog 合并为一个 |
| PFSELFTEST | 内部命令,仅用于开发测试 |
2.2.8 Geospatial
Geospatial 是 Redis 3.2 版本新增一种数据类型,底层的索引结构是 ZSet。主要用于存储地理位置信息,并对存储的信息进行操作。所有命令:
| 命名 | 描述 |
|---|---|
| GEOADD | 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中 |
| GEODIST | 返回两个给定位置之间的距离 |
| GEOHASH | 返回一个或多个位置元素的 Geo hash 表示 |
| GEOPOS | 从 key 里返回所有给定位置元素的位置(经度和纬度) |
| GEORADIUS | 以给定的经纬度为中心, 找出某一半径内的元素 |
| GEORADIUS_RO | GEORADIUS 命令的只读变体,只是它不支持可选的 STORE 和 STOREDIST 参数 |
| GEORADIUSBYMEMBER | 找出位于指定范围内的元素,中心点是由给定的位置元素决定 |
| GEORADIUSBYMEMBER_RO | GEORADIUSBYMEMBER 命令的只读变体,只是它不支持可选的 STORE 和 STOREDIST 参数 |
| GEOSEARCH | 扩展了 GEORADIUS 命令,因此除了支持在圆形区域内搜索外,还支持在矩形区域内搜索 |
| GEOSEARCHSTORE | 类似于 GEOSEARCH,但它将结果存储在目标键中 |
2.2.9 Stream
Redis Stream 是 5.0 版本中引入的一种新的数据结构,用于实现简单但功能强大的消息传递模式。所有命令:
| 命名 | 描述 |
|---|---|
| XACK | 确认消费者已经成功处理从 Stream 中获取的消息 |
| XADD | 添加消息到队列末尾 |
| XAUTOCLAIM | 转移符合指定条件的待处理流条目的所有权 |
| XCLAIM | 改变待处理消息的所有权 |
| XDEL | 删除消息 |
| XGROUP CREATE | 为存储在 key 的流创建一个新的消费者组 |
| XGROUP CREATECONSUMER | 要在存储在key的流的消费者组中创建一个消费者 |
| XGROUP DELCONSUMER | 消费者组中删除一个消费者 |
| XGROUP DESTROY | 删除一个已存在的消费者组 |
| XGROUP SETID | 为消费者组设置最后传递的ID |
| XINFO CONSUMERS | 返回消费者组中的消费者列表 |
| XINFO GROUPS | 返回消费者组列表 |
| XINFO STREAM | 存储在的key流的相关信息 |
| XLEN | 获取 Stream 中的消息长度 |
| XPENDING | 通过消费者组从流中获取数据但不确认这些数据,会产生待处理条目 |
| XRANGE | 获取消息列表(可以指定范围) |
| XREAD | 获取消息(阻塞/非阻塞),返回大于指定 ID 的消息 |
| XREADGROUP | XREAD命令的一个特殊版本,支持消费者组 |
| XREVRANGE | 和 XRANGE 相比区别在于反向获取,ID从大到小 |
| XSETID | 内部命令。它用于主节点来复制流的最后传递的ID |
| XTRIM | 限制 Stream 的长度,如果已经超长会进行截取 |
2.3 Management
2.3.1 Connection management
连接管理命令:
| 命名 | 描述 |
|---|---|
| AUTH | |
| CLIENT CACHING | |
| CLIENT GETNAME | |
| CLIENT GETREDIR | |
| CLIENT ID | |
| CLIENT INFO | |
| CLIENT KILL | |
| CLIENT LIST | |
| CLIENT NO-EVICT | |
| CLIENT NO-TOUCH | |
| CLIENT PAUSE | |
| CLIENT REPLY | |
| CLIENT SETINFO | |
| CLIENT SETNAME | |
| CLIENT TRACKING | |
| CLIENT TRACKINGINFO | |
| CLIENT UNBLOCK | |
| CLIENT UNPAUSE | |
| ECHO | |
| HELLO | |
| PING | |
| QUIT | |
| RESET | |
| SELECT |
2.3.2 Cluster management
集群管理命令是用于管理和维护 Redis 集群,允许用户执行如查看集群信息、添加或删除节点、重新分片、重新平衡集群等操作。所有命令:
| 命名 | 描述 |
|---|---|
| ASKING | 用于 ASK 重定向 |
| CLUSTER ADDSLOTS | 将一个或多个槽指派给当前节点 |
| CLUSTER ADDSLOTSRANGE | 将指定范围内的槽指派给当前节点 |
| CLUSTER BUMPEPOCH | 提升集群的 config epoch |
| CLUSTER COUNT-FAILURE | 返回指定节点当前未过期的失败报告的数量 |
| CLUSTER COUNTKEYSINSLOT | 返回指定槽中键的数量 |
| CLUSTER DELSLOTS | 移除一个或多个槽对当前节点的指派 |
| CLUSTER DELSLOTSRANGE | 移除范围内的槽对当前节点的指派 |
| CLUSTER FAILOVER | 手动触发故障转移 |
| CLUSTER FLUSHSLOTS | 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点 |
| CLUSTER FORGET | 从集群中移除指定节点ID的节点 |
| CLUSTER GETKEYSINSLOT | 返回指定槽中的键 |
| CLUSTER INFO | 打印集群的详细信息,包括集群状态、节点数量、槽分配情况 |
| CLUSTER KEYSLOT | 返回指定键存储的哈希槽 |
| CLUSTER LINKS | 输出所有集群节点之间对等连接信息 |
| CLUSTER MEET | 将指定IP和端口的节点添加到集群中 |
| CLUSTER MYID | 查看当前节点的运行ID |
| CLUSTER MVSHARDID | 查看当前节点的分片ID |
| CLUSTER NODES | 列出集群当前已知的所有节点及其相关信息 |
| CLUSTER REPLICAS | 返回指定主节点进行复制的从节点列表 |
| CLUSTER REPLICATE | 将当前节点设置为指定节点ID的节点的从节点 |
| CLUSTER RESET | 重置集群节点的状态 |
| CLUSTER SAVECONFIG | 将节点的配置文件保存到硬盘上 |
| CLUSTER SET-CONFIG-EPOCH | 在新节点中设置特定的配置时期 |
| CLUSTER SETSLOT | 手动调整槽的分配 |
| CLUSTER SHARDS | 获取集群中所有分片信息 |
| CLUSTER SLAVES | 查看指定主节点的所有从节点列表 |
| CLUSTER SLOTS | 查询集群哈希槽与节点映射关系 |
| READONLY | 在从节点上开启只读模式,读取可能不是最新的数据 |
| READWRITE | 取消之前通过 READONLY 命令设置的只读模式 |
2.3.3 Server managment
服务端管理命令:
| 命名 | 描述 |
|---|---|
| ACL CAT | |
| ACL DELUSER | |
| ACL DRYRUN | |
| ACL GENPASS | |
| ACL GETUSER | |
| ACL LIST | |
| ACL LOAD | |
| ACL LOG | |
| ACL SAVE | |
| ACL SETUSER | |
| ACL USERS | |
| ACL WHOAMI | |
| BGREWRITEAOF | |
| BGSAVE | |
| COMMAND | |
| COMMAND COUNT | |
| COMMAND DOCS | |
| COMMAND GETKEVS | |
| COMMAND GETKEYSANDFLAGS | |
| COMMAND INFO | |
| COMMAND LIST | |
| COMMAND LIST | |
| CONFIG GET | |
| CONFIG RESETSTAT | |
| CONFIG REWRITE | |
| CONFIG SET | |
| DBSIZE | |
| FAILOVER | |
| FLUSHALL | |
| FLUSHDB | |
| INFO | |
| LASTSAVE | |
| LATENCY DOCTOR | |
| LATENCY GRAPH | |
| LATENCY HISTOGRAM | |
| LATENCY HISTORY | |
| LATENCY LATEST | |
| LATENCY RESET | |
| LOLWUT | |
| MEMORY DOCTOR | |
| MEMORY MALLOC-STATS | |
| MEMORY PURGE | |
| MEMORY STATS | |
| MEMORY USAGE | |
| MEMORY USAGE | |
| MODULE LIST | |
| MODULE LOAD | |
| MODULE LOADEX | |
| MODULE UNLOAD | |
| MONITOR | |
| PSYNC | |
| REPLCONF | |
| REPLICAOF | |
| RESTORE-ASKING | |
| ROLE | |
| SAVE | |
| SHUTDOWN | |
| SLAVEOF | |
| SLOWLOG GET | |
| SLOWLOG LEN | |
| SLOWLOG RESET | |
| SWAPDB | |
| SYNC | |
| TIME |
2.4 Pub/Sub
Pub/Sub 发布/订阅是一种常见的消息传递模式,所有命令:
| 命名 | 描述 |
|---|---|
| PSUBSCRIBE | 订阅一个或多个符合给定模式的频道 |
| PUBLISH | 将信息发送到指定的频道 |
| PUBSUB CHANNELS | 列出当前活动的频道 |
| PUBSUB NUMPAT | 返回客户端订阅的唯一模式的数量(这些模式是使用 PSUBSCRIBE 命令订阅的) |
| PUBSUB NUMSUB | 返回指定频道的订阅者数量(不包括使用模式订阅的客户端) |
| PUBSUB SHARDCHANNELS | 列出当前活动的分片频道 |
| PUBSUB SHARDNUMSUB | 返回指定分片频道的订阅者数量 |
| PUNSUBSCRIBE | 退订所有给定模式的频道 |
| SPUBLISH | 向指定的分片频道发布一条消息 |
| SSUBSCRIBE | 将客户端订阅到指定的分片频道 |
| SUBSCRIBE | 订阅给定的一个或多个频道的信息 |
| SUNSUBSCRIBE | 取消客户端对给定分片频道的订阅,如果没有给出任何频道,则取消对所有分片频道的订阅 |
| UNSUBSCRIBE | 指退订给定的频道 |
2.5 Scripting and functions
脚本及函数命令:
| 命名 | 描述 |
|---|---|
| EVAL | |
| EVAL_RO | |
| EVALSHA | |
| EVALSHA_RO | |
| FCALL | |
| FCALL_RO | |
| FUNCTION DELETE | |
| FUNCTION DUMP | |
| FUNCTION FLUSH | |
| FUNCTION KILL | |
| FUNCTION LIST | |
| FUNCTION LOAD | |
| FUNCTION RESTORE | |
| FUNCTION STATS | |
| SCRIPT DEBUG | |
| SCRIPT FLUSH | |
| SCRIPT KILL | |
| SCRIPT LOAD |
2.6 Transactions
事务相关所有命令:
| 命名 | 描述 |
|---|---|
| MULTI | 开启事务 |
| DISCARD | 取消事务 |
| EXEC | 执行 |
| WATCH | 监视一个或多个key |
| UNWATCH | 取消监视 |
2.7 Stack
2.7.1 Bloom filter
布隆过滤器,是一种概率性数据结构,主要用于检测一个元素是否属于某个集合。所有命令:
| 命名 | 描述 |
|---|---|
| BF.ADD | 向布隆过滤器中添加一个元素 |
| BF.CARD | 返回布隆过滤器的基数 |
| BF.EXISTS | 检查一个元素是否可能存在于布隆过滤器中 |
| BF.INFO | 获取布隆过滤器的信息,如当前的元素数量、错误率等 |
| BF.INSERT | 使用指定的错误率、容量和扩展量创建一个新的布隆过滤器 |
| BF.LOADCHUNK | 使用 BF.SCANDUMP 命令之前保存的布隆过滤器进行恢复 |
| BF.MADD | 向布隆过滤器中一次性添加多个元素 |
| BF.MEXISTS | 检查多个元素是否可能存在于布隆过滤器中 |
| BF.RESERVE | 创建一个新的布隆过滤器,并指定其预期的元素数量和错误率 |
| BF.SCANDUMP | 布隆过滤器的增量保存 |
2.7.2 Cuckoo filter
| 命名 | 描述 |
|---|---|
| CF.ADD | |
| CF.ADDNX | |
| CF.COUNT | |
| CF.DEL | |
| CF.EXISTS | |
| CF.INFO | |
| CF.INSERT | |
| CF.INSERTNX | |
| CF.LOADCHUNK | |
| CF.MEXISTS | |
| CF.RESERVE | |
| CF.SCANDUMP |
2.7.3 Count-min sketch
| 命名 | 描述 |
|---|---|
| CMS.INCRBY | |
| CMS. INFO | |
| CMS.INITBYDIM | |
| CMS.INITBVPROB | |
| CMS .MERGE | |
| CMS.QUERY |
2.7.4 JSON
| 命名 | 描述 |
|---|---|
| JSON.ARRAPPEND | |
| JSON.ARRINDEX | |
| JSON.ARRINSERT | |
| JSON.ARRLEN | |
| JSON.ARRPOP | |
| JSON.ARRTRIM | |
| JSON.CLEAR | |
| JSON.DEBUG | |
| JSON.DEBUG MEMORV | |
| JSON.DEL | |
| JSON.FORGET | |
| JSON.GET | |
| JSON.MERGE | |
| JSON.MGET | |
| JSON.MSET | |
| JSON.NUMINCRBY | |
| JSON.NUMMULTBV | |
| JSON.OBJKEYS | |
| JSON.OBJLEN | |
| JSON.RESP | |
| JSON.SET |
JSON.STRAPPEND JSON.STRLEN JSON.TOGGLE JSON.TYPE
2.7.5 Search and query
| 命名 | 描述 |
|---|---|
| FT._LIST | |
| FT .AGGREGATE | |
| FT.ALIASADD | |
| FT .ALIASDEL | |
| FT.ALIASUPDATE | |
| FT .ALTER | |
| FT.CONFIG GET | |
| FT.CONFIG SET | |
| FT .CREATE | |
| FT.CURSOR DEL | |
| FT.CURSOR READ | |
| FT .DICTADD | |
| FT .DICTDEL | |
| FT .DICTDUMP | |
| FT .DROPINDEX | |
| FT .EXPLAIN | |
| FT.EXPLAINCLI | |
| FT .INFO | |
| FT.PROFILE | |
| FT .SEARCH | |
| FT .SPELLCHECK | |
| FT .SYNDUMP | |
| FT . SYNUPDATE | |
| FT.TAGVALS |
2.7.6 Triggers and functions
| 命名 | 描述 |
|---|---|
| TFCALL | |
| TFCALLASYNC | |
| TFUNCTION DELETE | |
| TFUNCTION LIST | |
| TFUNCTION LOAD |
2.7.7 Auto-suggest
| 命名 | 描述 |
|---|---|
| FT.SUGADD | |
| FT.SUGDEL | |
| FT.SUGGET | |
| FT.SUGLEN |
2.7.8 T-digest
| 命名 | 描述 |
|---|---|
| TDIGEST.ADD | |
| TDIGEST .BYRANK | |
| TDIGEST .BYREVRANK | |
| TDIGEST .CDF | |
| TDIGEST.CREATE | |
| TDIGEST.INFO | |
| TDIGEST .MAX | |
| TDIGEST .MERGE | |
| TDIGEST .MIN | |
| TDIGEST.QUANTILE | |
| TDIGEST .RANK | |
| TDIGEST.RESET | |
| TDIGEST .REVRANK | |
| TDIGEST.TRIMMED MEAN |
2.7.9 Time series
| 命名 | 描述 |
|---|---|
| TS.ADD | |
| TS.ALTER | |
| TS.CREATE | |
| TS.CREATERULE | |
| TS.DECRBY | |
| TS.DEL | |
| TS.DELETERULE | |
| TS.GET | |
| TS.INCRBY | |
| TS.INFO | |
| TS.MADD | |
| TS.MGET | |
| TS.MRANGE | |
| TS.MREVRANGE | |
| TS.QUERYINDEX | |
| TS.RANGE | |
| TS.REVRANGE |
2.7.10 Top-k
| 命名 | 描述 |
|---|---|
| TOPK.ADD | |
| TOPK.COUNT | |
| TOPK.INCRBY | |
| TOPK.INFO | |
| TOPK.LIST | |
| TOPK.QUERY | |
| TOPK.RESERVE |