doc: update redis.md #191

This commit is contained in:
jaywcjlove 2022-12-01 10:18:10 +08:00
parent b117f3eab7
commit 0e9d9ac16d

View File

@ -10,7 +10,7 @@ Redis 备忘清单
Redis 是一个 `key-value` 存储系统类似 Memcached Redis 是一个 `key-value` 存储系统类似 Memcached
- 它支持存储的 value 类型相对更多包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型) - 它支持存储的 value 类型相对更多包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)
- 数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作 - 数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作
启动 Redis 启动 Redis
@ -51,11 +51,11 @@ redis> GET mykey
### 数据类型 ### 数据类型
- [Strings(字符串)](#redis字符串类型设置) - [Strings(字符串)](#redis-字符串类型设置)
- [Lists(列表)](#redis列表类型设置) - [Lists(列表)](#redis-列表类型设置)
- [Hashes(哈希)](#redis哈希类型设置) - [Hashes(哈希)](#redis-哈希类型设置)
- [Sets(集合)](#redis集合类型设置) - [Sets(集合)](#redis-集合类型设置)
- [Sorted Sets(有序集合)](#redis排序集类型设置) - [Sorted Sets(有序集合)](#redis-排序集类型设置)
Redis 支持以上 5 种数据类型 Redis 支持以上 5 种数据类型
@ -94,57 +94,57 @@ redis> COMMAND
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
<!--rehype:wrap-class=col-span-2 row-span-4--> <!--rehype:wrap-class=col-span-2 row-span-4-->
| - | - | :- | --
|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| :- | --
| [ACL LOAD](https://redis.io/commands/acl-load) | 从配置的 ACL 文件重新加载 ACL | [ACL LOAD](https://redis.io/commands/acl-load) | 从配置的 ACL 文件重新加载 ACL
| [ACL SAVE](https://redis.io/commands/acl-save) | 将当前的 ACL 规则保存在配置的 ACL 文件中 | [ACL SAVE](https://redis.io/commands/acl-save) | 将当前的 ACL 规则保存在配置的 ACL 文件中
| [ACL LIST](https://redis.io/commands/acl-list) | 以 ACL 配置文件格式列出当前的 ACL 规则 | [ACL LIST](https://redis.io/commands/acl-list) | 以 ACL 配置文件格式列出当前的 ACL 规则
| [ACL USERS](https://redis.io/commands/acl-users) | 列出所有配置的ACL规则的用户名 | [ACL USERS](https://redis.io/commands/acl-users) | 列出所有配置的ACL规则的用户名
| [ACL GETUSER](https://redis.io/commands/acl-getuser) | 获取特定 ACL 用户的规则 | [ACL GETUSER](https://redis.io/commands/acl-getuser) | 获取特定 ACL 用户的规则
| [ACL SETUSER](https://redis.io/commands/acl-setuser) | 修改或创建特定 ACL 用户的规则 | [ACL SETUSER](https://redis.io/commands/acl-setuser) | 修改或创建特定 ACL 用户的规则
| [ACL DELUSER](https://redis.io/commands/acl-deluser) | 删除指定的 ACL 用户和关联的规则 | [ACL DELUSER](https://redis.io/commands/acl-deluser) | 删除指定的 ACL 用户和关联的规则
| [ACL CAT](https://redis.io/commands/acl-cat) | 列出 ACL 类别或类别内的命令 | [ACL CAT](https://redis.io/commands/acl-cat) | 列出 ACL 类别或类别内的命令
| [ACL GENPASS](https://redis.io/commands/acl-genpass) | 生成用于 ACL 用户的伪随机安全密码 | [ACL GENPASS](https://redis.io/commands/acl-genpass) | 生成用于 ACL 用户的伪随机安全密码
| [ACL WHOAMI](https://redis.io/commands/acl-whoami) | 返回关联到当前连接的用户的名称 | [ACL WHOAMI](https://redis.io/commands/acl-whoami) | 返回关联到当前连接的用户的名称
| [ACL LOG](https://redis.io/commands/acl-log) | 列出由于 ACL 到位而被拒绝的最新事件 | [ACL LOG](https://redis.io/commands/acl-log) | 列出由于 ACL 到位而被拒绝的最新事件
| [ACL HELP](https://redis.io/commands/acl-help) | 显示有关ACL访问控制的帮助信息 | [ACL HELP](https://redis.io/commands/acl-help) | 显示有关ACL访问控制的帮助信息
| [BGREWRITEAOF](https://redis.io/commands/bgrewriteaof) | 异步重写 append-only 文件 | [BGREWRITEAOF](https://redis.io/commands/bgrewriteaof) | 异步重写 append-only 文件
| [BGSAVE](https://redis.io/commands/bgsave) | 将数据集异步保存到磁盘 | [BGSAVE](https://redis.io/commands/bgsave) | 将数据集异步保存到磁盘
| [CONFIG GET](https://redis.io/commands/config-get) | 获取配置参数的值 | [CONFIG GET](https://redis.io/commands/config-get) | 获取配置参数的值
| [CONFIG REWRITE](https://redis.io/commands/config-rewrite) | 用内存中的配置重写配置文件 | [CONFIG REWRITE](https://redis.io/commands/config-rewrite) | 用内存中的配置重写配置文件
| [CONFIG SET](https://redis.io/commands/config-set) | 将配置参数设置为给定值 | [CONFIG SET](https://redis.io/commands/config-set) | 将配置参数设置为给定值
| [CONFIG RESETSTAT](https://redis.io/commands/config-resetstat) | 重置 INFO 返回的统计数据 | [CONFIG RESETSTAT](https://redis.io/commands/config-resetstat) | 重置 INFO 返回的统计数据
| [DBSIZE](https://redis.io/commands/dbsize) | 返回所选数据库中的键数 | [DBSIZE](https://redis.io/commands/dbsize) | 返回所选数据库中的键数
| [DEBUG OBJECT](https://redis.io/commands/debug-object) | 获取某个key的调试信息 | [DEBUG OBJECT](https://redis.io/commands/debug-object) | 获取某个key的调试信息
| [DEBUG SEGFAULT](https://redis.io/commands/debug-segfault) | 使服务器崩溃 | [DEBUG SEGFAULT](https://redis.io/commands/debug-segfault) | 使服务器崩溃
| [FLUSHALL](https://redis.io/commands/flushall) | 从所有数据库中删除所有密钥 | [FLUSHALL](https://redis.io/commands/flushall) | 从所有数据库中删除所有密钥
| [FLUSHDB](https://redis.io/commands/flushdb) | 从当前数据库中删除所有键 | [FLUSHDB](https://redis.io/commands/flushdb) | 从当前数据库中删除所有键
| [LOLWUT](https://redis.io/commands/lolwut) | 显示一些计算机信息和 Redis 版本 | [LOLWUT](https://redis.io/commands/lolwut) | 显示一些计算机信息和 Redis 版本
| [LASTSAVE](https://redis.io/commands/lastsave) | 获取上次成功保存到磁盘的 UNIX 时间戳 | [LASTSAVE](https://redis.io/commands/lastsave) | 获取上次成功保存到磁盘的 UNIX 时间戳
| [MEMORY DOCTOR](https://redis.io/commands/memory-doctor) | 输出内存问题报告 | [MEMORY DOCTOR](https://redis.io/commands/memory-doctor) | 输出内存问题报告
| [MEMORY HELP](https://redis.io/commands/memory-help) | 显示有关内存的使用帮助 | [MEMORY HELP](https://redis.io/commands/memory-help) | 显示有关内存的使用帮助
| [MEMORY MALLOC-STATS](https://redis.io/commands/memory-malloc-stats) | 显示分配器内部统计 | [MEMORY MALLOC-STATS](https://redis.io/commands/memory-malloc-stats) | 显示分配器内部统计
| [MEMORY PURGE](https://redis.io/commands/memory-purge) | 要求分配器释放内存 | [MEMORY PURGE](https://redis.io/commands/memory-purge) | 要求分配器释放内存
| [MEMORY STATS](https://redis.io/commands/memory-stats) | 显示内存使用详情(该死,运维的我经常用到) | [MEMORY STATS](https://redis.io/commands/memory-stats) | 显示内存使用详情(该死,运维的我经常用到)
| [MEMORY USAGE](https://redis.io/commands/memory-usage) | 估计一个键的内存使用 | [MEMORY USAGE](https://redis.io/commands/memory-usage) | 估计一个键的内存使用
| [MODULE LIST](https://redis.io/commands/module-list) | 列出服务器加载的所有模块 | [MODULE LIST](https://redis.io/commands/module-list) | 列出服务器加载的所有模块
| [MODULE LOAD](https://redis.io/commands/module-load) | 加载模块 | [MODULE LOAD](https://redis.io/commands/module-load) | 加载模块
| [MODULE UNLOAD](https://redis.io/commands/module-unload) | 卸载模块 | [MODULE UNLOAD](https://redis.io/commands/module-unload) | 卸载模块
| [MONITOR](https://redis.io/commands/monitor) | 实时监听服务器收到的所有请求 | [MONITOR](https://redis.io/commands/monitor) | 实时监听服务器收到的所有请求
| [SAVE](https://redis.io/commands/save) | 将数据集同步保存到磁盘 | [SAVE](https://redis.io/commands/save) | 将数据集同步保存到磁盘
| [SHUTDOWN](https://redis.io/commands/shutdown) | 将数据集同步保存到磁盘,然后关闭服务器 | [SHUTDOWN](https://redis.io/commands/shutdown) | 将数据集同步保存到磁盘,然后关闭服务器
| [SLAVEOF](https://redis.io/commands/slaveof) | 使服务器成为另一个实例的副本,或将其提升为主服务器(从Redis 5开始弃用改成REPLICAOF了) | [~~SLAVEOF~~](https://redis.io/commands/slaveof) | 使服务器成为另一个实例的副本,或将其提升为主服务器<br> _(从Redis 5开始<red>弃用</red>,改成 `REPLICAOF`了)_
| [REPLICAOF](https://redis.io/commands/replicaof) | 使服务器成为另一个实例的副本,或将其提升为主服务器 | [REPLICAOF](https://redis.io/commands/replicaof) | 使服务器成为另一个实例的副本,或将其提升为主服务器
| [SLOWLOG](https://redis.io/commands/slowlog) | 管理 Redis 慢查询日志 | [SLOWLOG](https://redis.io/commands/slowlog) | 管理 Redis 慢查询日志
| [SWAPDB](https://redis.io/commands/swapdb) | 交换两个Redis数据库 | [SWAPDB](https://redis.io/commands/swapdb) | 交换两个Redis数据库
| [SYNC](https://redis.io/commands/sync) | 用于复制的内部命令(主) | [SYNC](https://redis.io/commands/sync) | 用于复制的内部命令(主)
| [PSYNC](https://redis.io/commands/psync) | 用于复制的内部命令(备) | [PSYNC](https://redis.io/commands/psync) | 用于复制的内部命令(备)
| [LATENCY DOCTOR](https://redis.io/commands/latency-doctor) | 返回人类可读的延迟分析报告 | [LATENCY DOCTOR](https://redis.io/commands/latency-doctor) | 返回人类可读的延迟分析报告
| [LATENCY GRAPH](https://redis.io/commands/latency-graph) | 返回事件的延迟图 | [LATENCY GRAPH](https://redis.io/commands/latency-graph) | 返回事件的延迟图
| [LATENCY HISTORY](https://redis.io/commands/latency-history) | 返回事件的时间戳延迟样本 | [LATENCY HISTORY](https://redis.io/commands/latency-history) | 返回事件的时间戳延迟样本
| [LATENCY LATEST](https://redis.io/commands/latency-latest) | 返回所有事件的最新延迟样本 | [LATENCY LATEST](https://redis.io/commands/latency-latest) | 返回所有事件的最新延迟样本
| [LATENCY RESET](https://redis.io/commands/latency-reset) | 重置一个或多个事件的延迟数据 | [LATENCY RESET](https://redis.io/commands/latency-reset) | 重置一个或多个事件的延迟数据
| [LATENCY HELP](https://redis.io/commands/latency-help) | 显示有关不同子命令的有用文本 | [LATENCY HELP](https://redis.io/commands/latency-help) | 显示有关不同子命令的有用文本
### COMMAND COUNT ### COMMAND COUNT
@ -291,16 +291,16 @@ Redis一些通用的命令
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
| - | - | :- | --
|-----------------------------------------------|--------------------------------------------------------------------------------------------------------------| :- | --
| [COPY](https://redis.io/commands/copy) | 复制键值对 | [COPY](https://redis.io/commands/copy) | 复制键值对
| [MIGRATE](https://redis.io/commands/migrate) | 以原子方式将键值对从 Redis 实例传输到另一个实例 | [MIGRATE](https://redis.io/commands/migrate) | 以原子方式将键值对从 Redis 实例传输到另一个实例
| [MOVE](https://redis.io/commands/move) | 将键值对移动到另一个数据库 | [MOVE](https://redis.io/commands/move) | 将键值对移动到另一个数据库
| [OBJECT](https://redis.io/commands/object) | 检查 Redis 对象的内部结构 | [OBJECT](https://redis.io/commands/object) | 检查 Redis 对象的内部结构
| [RESTORE](https://redis.io/commands/restore) | 使用提供的序列化值创建键值对,之前使用 DUMP 获得 | [RESTORE](https://redis.io/commands/restore) | 使用提供的序列化值创建键值对,之前使用 DUMP 获得
| [SORT](https://redis.io/commands/sort) | 对列表、集合或有序集合中的元素进行排序 | [SORT](https://redis.io/commands/sort) | 对列表、集合或有序集合中的元素进行排序
| [WAIT](https://redis.io/commands/wait) | 等待在当前连接的上下文中发送的所有写命令的同步复制 | [WAIT](https://redis.io/commands/wait) | 等待在当前连接的上下文中发送的所有写命令的同步复制
| [SCAN](https://redis.io/commands/scan) | 增量迭代键空间 | [SCAN](https://redis.io/commands/scan) | 增量迭代键空间
### DEL ### DEL
@ -382,7 +382,7 @@ redis> TTL mykey
(integer) -1 (integer) -1
``` ```
设置键值对的生存时间(以秒为单位) 设置键值对的生存时间(以秒为单位)
### EXPIREAT ### EXPIREAT
@ -471,7 +471,7 @@ redis> PTTL mykey
(integer) 1499 (integer) 1499
``` ```
设置键的生存时间(以毫秒为单位) 设置键的生存时间(以毫秒为单位)
### PEXPIREAT ### PEXPIREAT
@ -636,31 +636,32 @@ redis> UNLINK key1 key2 key3
在另一个线程中异步删除一个键。否则它就像 DEL但不是阻塞的 在另一个线程中异步删除一个键。否则它就像 DEL但不是阻塞的
Redis 连接相关的命令 Redis 连接相关的命令
------------ ------
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
<!--rehype:wrap-class=row-span-2-->
| - | - | :- | --
|---------------------------------------------------------------|----------------------------------------------------------------------------| :- | --
| [AUTH](https://redis.io/commands/auth) | 向服务器进行身份验证 | [AUTH](https://redis.io/commands/auth) | 向服务器进行身份验证
| [CLIENT CACHING](https://redis.io/commands/client-caching) | 指示服务器在下一个请求中是否跟踪键 | [CLIENT CACHING](https://redis.io/commands/client-caching) | 指示服务器在下一个请求中是否跟踪键
| [CLIENT KILL](https://redis.io/commands/client-kill) | 终止客户端的连接 | [CLIENT KILL](https://redis.io/commands/client-kill) | 终止客户端的连接
| [CLIENT LIST](https://redis.io/commands/client-list) | 获取客户端连接列表 | [CLIENT LIST](https://redis.io/commands/client-list) | 获取客户端连接列表
| [CLIENT GETNAME](https://redis.io/commands/client-getname) | 获取当前连接名称 | [CLIENT GETNAME](https://redis.io/commands/client-getname) | 获取当前连接名称
| [CLIENT GETREDIR](https://redis.io/commands/client-getredir) | 获取跟踪通知重定向客户端 ID(如果有)| [CLIENT GETREDIR](https://redis.io/commands/client-getredir) | 获取跟踪通知重定向客户端 ID(如果有)
| [CLIENT PAUSE](https://redis.io/commands/client-pause) | 停止处理来自客户端的命令一段时间 | [CLIENT PAUSE](https://redis.io/commands/client-pause) | 停止处理来自客户端的命令一段时间
| [CLIENT REPLY](https://redis.io/commands/client-reply) | 指示服务器是否回复命令 | [CLIENT REPLY](https://redis.io/commands/client-reply) | 指示服务器是否回复命令
| [CLIENT SETNAME](https://redis.io/commands/client-setname) | 设置当前连接名称 | [CLIENT SETNAME](https://redis.io/commands/client-setname) | 设置当前连接名称
| [CLIENT TRACKING](https://redis.io/commands/client-tracking) | 启用或禁用服务器辅助客户端缓存支持 | [CLIENT TRACKING](https://redis.io/commands/client-tracking) | 启用或禁用服务器辅助客户端缓存支持
| [CLIENT UNBLOCK](https://redis.io/commands/client-unblock) | 取消阻止来自不同连接的阻塞命令中阻塞的客户端 | [CLIENT UNBLOCK](https://redis.io/commands/client-unblock) | 取消阻止来自不同连接的阻塞命令中阻塞的客户端
| [HELLO](https://redis.io/commands/hello) | 切换Redis协议 | [HELLO](https://redis.io/commands/hello) | 切换Redis协议
| [QUIT](https://redis.io/commands/quit) | 关闭连接 | [QUIT](https://redis.io/commands/quit) | 关闭连接
| [RESET](https://redis.io/commands/reset) | 重置连接 | [RESET](https://redis.io/commands/reset) | 重置连接
| [SELECT](https://redis.io/commands/select) | 更改为当前连接选择的数据库 | [SELECT](https://redis.io/commands/select) | 更改为当前连接选择的数据库
### CLIENT ID ### CLIENT ID
``` ```shell
CLIENT ID CLIENT ID
``` ```
@ -675,7 +676,7 @@ ERR Unknown or disabled command 'CLIENT'
### CLIENT INFO ### CLIENT INFO
``` ```shell
CLIENT INFO CLIENT INFO
``` ```
@ -690,7 +691,7 @@ redis> CLIENT INFO
### ECHO ### ECHO
``` ```shell
ECHO message ECHO message
``` ```
@ -705,7 +706,7 @@ redis> ECHO "Hello World!"
### PING ### PING
``` ```shell
PING [message] PING [message]
``` ```
@ -725,7 +726,7 @@ Redis字符串类型设置
### APPEND ### APPEND
``` ```shell
APPEND key value APPEND key value
``` ```
@ -746,7 +747,7 @@ redis> GET mykey
### BITCOUNT ### BITCOUNT
``` ```shell
BITCOUNT key [start end] BITCOUNT key [start end]
``` ```
@ -767,7 +768,7 @@ redis> BITCOUNT mykey 1 1
### BITFIELD ### BITFIELD
``` ```shell
BITFIELD key [GET type offset] [SET type offset value] BITFIELD key [GET type offset] [SET type offset value]
[INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]
``` ```
@ -784,7 +785,7 @@ redis> BITFIELD mykey INCRBY i5 100 1 GET u4 0
### BITOP ### BITOP
``` ```shell
BITOP operation destkey key [key ...] BITOP operation destkey key [key ...]
``` ```
@ -805,7 +806,7 @@ redis> GET dest
### BITPOS ### BITPOS
``` ```shell
BITPOS key bit [start] [end] BITPOS key bit [start] [end]
``` ```
@ -832,7 +833,7 @@ redis> BITPOS mykey 1
### DECR ### DECR
``` ```shell
DECR key DECR key
``` ```
@ -853,7 +854,7 @@ ERR ERR value is not an integer or out of range
### DECRBY ### DECRBY
``` ```shell
DECRBY key decrement DECRBY key decrement
``` ```
@ -870,7 +871,7 @@ redis> DECRBY mykey 3
### GET ### GET
``` ```shell
GET key GET key
``` ```
@ -889,7 +890,7 @@ redis> GET mykey
### GETBIT ### GETBIT
``` ```shell
GETBIT key offset GETBIT key offset
``` ```
@ -906,11 +907,11 @@ redis> GETBIT mykey 100
(integer) 0 (integer) 0
``` ```
返回存储在 key 处的字符串值中 offset 处的位值 返回存储在 `key` 处的字符串值中 `offset` 处的位值
### GETRANGE ### GETRANGE
``` ```shell
GETRANGE key start end GETRANGE key start end
``` ```
@ -933,7 +934,7 @@ redis> GETRANGE mykey 10 100
### GETSET ### GETSET
``` ```shell
GETSET key value GETSET key value
``` ```
@ -952,7 +953,7 @@ redis> GET mycounter
### INCR ### INCR
``` ```shell
INCR key INCR key
``` ```
@ -971,7 +972,7 @@ redis> GET mykey
### MSETNX ### MSETNX
``` ```shell
MSETNX key value [key value ...] MSETNX key value [key value ...]
``` ```
@ -992,7 +993,7 @@ redis> MGET key1 key2 key3
### INCRBYFLOAT ### INCRBYFLOAT
``` ```shell
INCRBYFLOAT key increment INCRBYFLOAT key increment
``` ```
@ -1015,7 +1016,7 @@ redis> INCRBYFLOAT mykey 2.0e2
### MGET ### MGET
``` ```shell
MGET key [key ...] MGET key [key ...]
``` ```
@ -1036,7 +1037,7 @@ redis> MGET key1 key2 nonexisting
### MSET ### MSET
``` ```shell
MSET key value [key value ...] MSET key value [key value ...]
``` ```
@ -1055,7 +1056,7 @@ redis> GET key2
### INCRBY ### INCRBY
``` ```shell
INCRBY key increment INCRBY key increment
``` ```
@ -1072,7 +1073,7 @@ redis> INCRBY mykey 5
### PSETEX ### PSETEX
``` ```shell
PSETEX key milliseconds value PSETEX key milliseconds value
``` ```
@ -1087,11 +1088,11 @@ redis> GET mykey
"Hello" "Hello"
``` ```
设置键的值和过期时间(以毫秒为单位) 设置键的值和过期时间(以毫秒为单位)
### SET ### SET
``` ```shell
SET key value [EX seconds|PX milliseconds|KEEPTTL] [NX|XX] SET key value [EX seconds|PX milliseconds|KEEPTTL] [NX|XX]
[GET] [GET]
``` ```
@ -1111,7 +1112,7 @@ redis> SET anotherkey "will expire in a minute" EX 60
### SETBIT ### SETBIT
``` ```shell
SETBIT key offset value SETBIT key offset value
``` ```
@ -1130,7 +1131,7 @@ redis> GET mykey
### SETEX ### SETEX
``` ```shell
SETEX key seconds value SETEX key seconds value
``` ```
@ -1149,7 +1150,7 @@ redis> GET mykey
### SETNX ### SETNX
``` ```shell
SETNX key value SETNX key value
``` ```
@ -1168,7 +1169,7 @@ redis> GET mykey
### SETRANGE ### SETRANGE
``` ```shell
SETRANGE key offset value SETRANGE key offset value
``` ```
@ -1187,7 +1188,7 @@ redis> GET key1
### STRLEN ### STRLEN
``` ```shell
STRLEN key STRLEN key
``` ```
@ -1206,7 +1207,7 @@ redis> STRLEN nonexisting
### STRALGO ### STRALGO
``` ```shell
STRALGO LCS algo-specific-argument [algo-specific-argument STRALGO LCS algo-specific-argument [algo-specific-argument
...] ...]
``` ```
@ -1228,14 +1229,14 @@ redis> STRALGO LCS KEYS key1 key2 IDX
4) (integer) 6 4) (integer) 6
``` ```
针对字符串运行算法(目前为 LCS 针对字符串运行算法(目前为 LCS)
Redis 集合类型设置 Redis 集合类型设置
------------ ------------
### SADD ### SADD
``` ```shell
SADD key member [member ...] SADD key member [member ...]
``` ```
@ -1257,7 +1258,7 @@ redis> SMEMBERS myset
### SCARD ### SCARD
``` ```shell
SCARD key SCARD key
``` ```
@ -1276,7 +1277,7 @@ redis> SCARD myset
### SDIFF ### SDIFF
``` ```shell
SDIFF key [key ...] SDIFF key [key ...]
``` ```
@ -1304,7 +1305,7 @@ redis> SDIFF key1 key2
### SDIFFSTORE ### SDIFFSTORE
``` ```shell
SDIFFSTORE destination key [key ...] SDIFFSTORE destination key [key ...]
``` ```
@ -1334,7 +1335,7 @@ redis> SMEMBERS key
### SINTER ### SINTER
``` ```shell
SINTER key [key ...] SINTER key [key ...]
``` ```
@ -1361,7 +1362,7 @@ redis> SINTER key1 key2
### SINTERSTORE ### SINTERSTORE
``` ```shell
SINTERSTORE destination key [key ...] SINTERSTORE destination key [key ...]
``` ```
@ -1390,7 +1391,7 @@ redis> SMEMBERS key
### SISMEMBER ### SISMEMBER
``` ```shell
SISMEMBER key member SISMEMBER key member
``` ```
@ -1409,7 +1410,7 @@ redis> SISMEMBER myset "two"
### SMISMEMBER ### SMISMEMBER
``` ```shell
SMISMEMBER key member [member ...] SMISMEMBER key member [member ...]
``` ```
@ -1628,10 +1629,10 @@ Redis列表类型设置
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
| - | - | :- | --
|-----------------------------------------------------|----------------------------------------------------------------------------------------------------| :- | --
| [BRPOPLPUSH](https://redis.io/commands/brpoplpush) | 从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用 | [BRPOPLPUSH](https://redis.io/commands/brpoplpush) | 从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用
| [BLMOVE](https://redis.io/commands/blmove) | 从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用 | [BLMOVE](https://redis.io/commands/blmove) | 从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用
### BLPOP ### BLPOP
@ -2412,7 +2413,7 @@ redis> ZRANGE myzset 0 -1 WITHSCORES
8) "3" 8) "3"
``` ```
将一个或多个成员添加到有序集合中,或者更新其分数(如果它已经存在) 将一个或多个成员添加到有序集合中,或者更新其分数(如果它已经存在)
### ZCARD ### ZCARD
@ -3188,6 +3189,7 @@ redis> GEODIST Sicily Foo Bar
返回地理空间索引的两个成员之间的距离 返回地理空间索引的两个成员之间的距离
### GEORADIUS ### GEORADIUS
<!--rehype:wrap-class=row-span-3-->
``` ```
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT
@ -3273,16 +3275,17 @@ redis> GEOSEARCH Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
| - | - | :- | --
|-------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------| :- | --
| [GEOSEARCHSTORE](https://redis.io/commands/geosearchstore) | 查询表示地理空间索引的排序集以获取框或圆区域内的成员,并将结果存储在另一个键中。 | [GEOSEARCHSTORE](https://redis.io/commands/geosearchstore) | 查询表示地理空间索引的排序集以获取框或圆区域内的成员,并将结果存储在另一个键中
<!--rehype:className=style-list-->
Redis超文本日志类型设置 Redis超文本日志类型设置
------------ ------------
### PFADD ### PFADD
``` ```shell
PFADD key element [element ...] PFADD key element [element ...]
``` ```
@ -3299,7 +3302,7 @@ redis> PFCOUNT hll
### PFCOUNT ### PFCOUNT
``` ```shell
PFCOUNT key [key ...] PFCOUNT key [key ...]
``` ```
@ -3324,7 +3327,7 @@ redis> PFCOUNT hll some-other-hll
### PFMERGE ### PFMERGE
``` ```shell
PFMERGE destkey sourcekey [sourcekey ...] PFMERGE destkey sourcekey [sourcekey ...]
``` ```
@ -3349,15 +3352,16 @@ Redis流命令
### 一些引用(可能有帮助) ### 一些引用(可能有帮助)
| - | - | :- | --
|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :- | --
| [XINFO](https://redis.io/commands/xinfo) | 获取有关流和消费者组的信息 | [XINFO](https://redis.io/commands/xinfo) | 获取有关流和消费者组的信息
| [XDEL](https://redis.io/commands/xdel) | 从流中删除指定的条目。返回实际删除的项目数,如果某些 ID 不存在,则可能与传递的 ID 数不同 | [XDEL](https://redis.io/commands/xdel) | 从流中删除指定的条目。返回实际删除的项目数,如果某些 ID 不存在,则可能与传递的 ID 数不同
| [XREAD](https://redis.io/commands/xread) | 返回多个流中从未见过的元素,其 ID 大于调用者为每个流报告的 ID | [XREAD](https://redis.io/commands/xread) | 返回多个流中从未见过的元素,其 ID 大于调用者为每个流报告的 ID
| [XGROUP](https://redis.io/commands/xgroup) | 创建、销毁和管理消费者组 | [XGROUP](https://redis.io/commands/xgroup) | 创建、销毁和管理消费者组
| [XREADGROUP](https://redis.io/commands/xreadgroup) | 使用消费者组从流中返回新条目,或访问给定消费者的待处理条目的历史记录 | [XREADGROUP](https://redis.io/commands/xreadgroup) | 使用消费者组从流中返回新条目,或访问给定消费者的待处理条目的历史记录
| [XCLAIM](https://redis.io/commands/xclaim) | 更改(或获取)消费者组中消息的所有权,就好像消息已传递给指定的消费者一样 | [XCLAIM](https://redis.io/commands/xclaim) | 更改(或获取)消费者组中消息的所有权,就好像消息已传递给指定的消费者一样
| [XPENDING](https://redis.io/commands/xpending) | 从流消费者组待定条目列表中返回信息和条目,这些信息是已获取但从未确认的消息 | [XPENDING](https://redis.io/commands/xpending) | 从流消费者组待定条目列表中返回信息和条目,这些信息是已获取但从未确认的消息
<!--rehype:className=style-list-->
### XADD ### XADD
@ -3393,7 +3397,7 @@ redis> XRANGE mystream - +
### XTRIM ### XTRIM
``` ```shell
XTRIM key MAXLEN [=|~] length XTRIM key MAXLEN [=|~] length
``` ```
@ -3416,11 +3420,11 @@ redis> XRANGE mystream - +
8) "D" 8) "D"
``` ```
将流修剪为(大约如果传递了“~”)特定大小 将流修剪为(大约如果传递了“~”)特定大小
### XRANGE ### XRANGE
``` ```shell
XRANGE key start end [COUNT count] XRANGE key start end [COUNT count]
``` ```
@ -3455,8 +3459,9 @@ redis> XRANGE writers - + COUNT 2
返回流中的一系列元素,其 ID 与指定的 ID 间隔相匹配 返回流中的一系列元素,其 ID 与指定的 ID 间隔相匹配
### XREVRANGE ### XREVRANGE
<!--rehype:wrap-class=row-span-2-->
``` ```shell
XREVRANGE key end start [COUNT count] XREVRANGE key end start [COUNT count]
``` ```
@ -3483,11 +3488,11 @@ redis> XREVRANGE writers + - COUNT 1
4) "Adichie" 4) "Adichie"
``` ```
返回流中的一系列元素ID 与指定的 ID 间隔相匹配,与 XRANGE 相比,顺序相反(从大到小的 ID 返回流中的一系列元素ID 与指定的 ID 间隔相匹配,与 XRANGE 相比,顺序相反(从大到小的 ID)
### XLEN ### XLEN
``` ```shell
XLEN key XLEN key
``` ```
@ -3508,7 +3513,7 @@ redis> XLEN mystream
### XACK ### XACK
``` ```shell
XACK key group ID [ID ...] XACK key group ID [ID ...]
``` ```
@ -3519,16 +3524,17 @@ redis> XACK mystream mygroup 1526569495631-0
ERR Unknown or disabled command 'XACK' ERR Unknown or disabled command 'XACK'
``` ```
将待处理消息标记为已正确处理,有效地将其从消费者组的待处理条目列表中删除,该命令的返回值是成功确认的消息数,即我们实际能够在PEL中解析的ID。 将待处理消息标记为已正确处理,有效地将其从消费者组的待处理条目列表中删除,该命令的返回值是成功确认的消息数,即我们实际能够在 `PEL` 中解析的 `ID`
集群方面的东西 集群方面的东西
------------ ------------
<!--rehype:body-class=cols-2--> <!--rehype:body-class=cols-2-->
### 节点、集群 ### 节点、集群
<!--rehype:wrap-class=row-span-3-->
| - | - | :- | --
|-------------------------------------------------------------------------------------------|------------------------------------------------------------------| :- | --
| [CLUSTER ADDSLOTS](https://redis.io/commands/cluster-addslots) | 为接收节点分配新的哈希槽 | | [CLUSTER ADDSLOTS](https://redis.io/commands/cluster-addslots) | 为接收节点分配新的哈希槽 |
| [CLUSTER BUMPEPOCH](https://redis.io/commands/cluster-bumpepoch) | 提前集群配置纪元 | | [CLUSTER BUMPEPOCH](https://redis.io/commands/cluster-bumpepoch) | 提前集群配置纪元 |
| [CLUSTER COUNT-FAILURE-REPORTS](https://redis.io/commands/cluster-count-failure-reports) | 返回给定节点的活动故障报告数 | | [CLUSTER COUNT-FAILURE-REPORTS](https://redis.io/commands/cluster-count-failure-reports) | 返回给定节点的活动故障报告数 |
@ -3556,33 +3562,33 @@ ERR Unknown or disabled command 'XACK'
### 交易 ### 交易
| - | - | :- | --
|----------------------------------------------|---------------------------------------------------------------------| :- | --
| [DISCARD](https://redis.io/commands/discard) | 丢弃 MULTI 之后发出的所有命令 | [DISCARD](https://redis.io/commands/discard) | 丢弃 MULTI 之后发出的所有命令
| [EXEC](https://redis.io/commands/exec) | 执行 MULTI 之后发出的所有命令 | [EXEC](https://redis.io/commands/exec) | 执行 MULTI 之后发出的所有命令
| [MULTI](https://redis.io/commands/multi) | 标记事务块的开始 | [MULTI](https://redis.io/commands/multi) | 标记事务块的开始
| [UNWATCH](https://redis.io/commands/unwatch) | 忘记所有监视的键 | [UNWATCH](https://redis.io/commands/unwatch) | 忘记所有监视的键
| [WATCH](https://redis.io/commands/watch) | 观察给定的键以确定MULTI/EXEC块的执行 | [WATCH](https://redis.io/commands/watch) | 观察给定的键以确定MULTI/EXEC块的执行
### 脚本 ### 脚本
| - | - | :- | --
|-----------------------------------------------------------|------------------------------------------------------| :- | --
| [EVAL](https://redis.io/commands/eval) | 执行 Lua 脚本服务器端 | [EVAL](https://redis.io/commands/eval) | 执行 Lua 脚本服务器端
| [EVALSHA](https://redis.io/commands/evalsha) | 执行 Lua 脚本服务器端 | [EVALSHA](https://redis.io/commands/evalsha) | 执行 Lua 脚本服务器端
| [SCRIPT DEBUG](https://redis.io/commands/script-debug) | 为执行的脚本设置调试模式 | [SCRIPT DEBUG](https://redis.io/commands/script-debug) | 为执行的脚本设置调试模式
| [SCRIPT EXISTS](https://redis.io/commands/script-exists) | 检查脚本缓存中是否存在脚本 | [SCRIPT EXISTS](https://redis.io/commands/script-exists) | 检查脚本缓存中是否存在脚本
| [SCRIPT FLUSH](https://redis.io/commands/script-flush) | 从脚本缓存中删除所有脚本 | [SCRIPT FLUSH](https://redis.io/commands/script-flush) | 从脚本缓存中删除所有脚本
| [SCRIPT KILL](https://redis.io/commands/script-kill) | 终止当前正在执行的脚本 | [SCRIPT KILL](https://redis.io/commands/script-kill) | 终止当前正在执行的脚本
| [SCRIPT LOAD](https://redis.io/commands/script-load) | 将指定的 Lua 脚本加载到脚本缓存中 | [SCRIPT LOAD](https://redis.io/commands/script-load) | 将指定的 Lua 脚本加载到脚本缓存中
### 发布操作 ### 发布操作
| - | - | :- | --
|---------------------------------------------------------|----------------------------------------------------------------------------| :- | --
| [PSUBSCRIBE](https://redis.io/commands/psubscribe) | 侦听发布到与给定模式匹配的频道的消息 | [PSUBSCRIBE](https://redis.io/commands/psubscribe) | 侦听发布到与给定模式匹配的频道的消息
| [PUBSUB](https://redis.io/commands/pubsub) | 检查 Pub/Sub 子系统的状态 | [PUBSUB](https://redis.io/commands/pubsub) | 检查 Pub/Sub 子系统的状态
| [PUBLISH](https://redis.io/commands/publish) | 向频道发布消息 | [PUBLISH](https://redis.io/commands/publish) | 向频道发布消息
| [PUNSUBSCRIBE](https://redis.io/commands/punsubscribe) | 停止监听发布到与给定模式匹配的频道的消息 | [PUNSUBSCRIBE](https://redis.io/commands/punsubscribe) | 停止监听发布到与给定模式匹配的频道的消息
| [SUBSCRIBE](https://redis.io/commands/subscribe) | 收听发布到给定频道的消息 | [SUBSCRIBE](https://redis.io/commands/subscribe) | 收听发布到给定频道的消息
| [UNSUBSCRIBE](https://redis.io/commands/unsubscribe) | 停止收听发布到给定频道的消息 | [UNSUBSCRIBE](https://redis.io/commands/unsubscribe) | 停止收听发布到给定频道的消息