Redis 指令备忘清单(超级详细!)
本备忘单旨在快速理解 redis 所涉及的重要概念,提供了最常用的SQL语句,供参考。入门
介绍
Redis 是一个 key-value 存储体系类似 Memcached
[*]它支持存储的 value 类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)
[*]数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操纵
启动 Redis
$ redis-server &
使用 CLI 登陆 redis
$ redis-cli
使用 Telnet 的登陆 redis
$ telnet 127.0.0.1 6379
小试
Ping 测试
redis> PING
PONG
经典 Hello World
redis> SET mykey "Hello world"
OK
redis> GET mykey
"Hello world"
Redis服务相关的命令设置
COMMAND
COMMAND
redis> COMMAND
1) 1) "georadius_ro" 2) (integer) -6 3) 1) "readonly" 2) "movablekeys" 4) (integer) 1 5) (integer) 1 6) (integer) 1 7) 1) "@read" 2) "@geo" 3) "@slow"2) 1) "zpopmin" 2) (integer) -2 3) 1) "write" 2) "fast"........ 获取 Redis 命令详细信息的数组
一些引用(大概有帮助)
:-–ACL LOAD从配置的 ACL 文件重新加载 ACLACL SAVE将当前的 ACL 规则保存在配置的 ACL 文件中ACL LIST以 ACL 配置文件格式列出当前的 ACL 规则ACL USERS列出所有配置的ACL规则的用户名ACL GETUSER获取特定 ACL 用户的规则ACL SETUSER修改或创建特定 ACL 用户的规则ACL DELUSER删除指定的 ACL 用户和关联的规则ACL CAT列出 ACL 种别或种别内的命令ACL GENPASS天生用于 ACL 用户的伪随机安全密码ACL WHOAMI返回关联到当前连接的用户的名称ACL LOG列出由于 ACL 到位而被拒绝的最新变乱ACL HELP表现有关ACL访问控制的帮助信息BGREWRITEAOF异步重写 append-only 文件BGSAVE将数据集异步保存到磁盘CONFIG GET获取配置参数的值CONFIG REWRITE用内存中的配置重写配置文件CONFIG SET将配置参数设置为给定值CONFIG RESETSTAT重置 INFO 返回的统计数据DBSIZE返回所选数据库中的键数DEBUG OBJECT获取某个key的调试信息DEBUG SEGFAULT使服务器瓦解FLUSHALL从所有数据库中删除所有密钥FLUSHDB从当前数据库中删除所有键LOLWUT表现一些盘算机信息和 Redis 版本LASTSAVE获取上次成功保存到磁盘的 UNIX 时间戳MEMORY DOCTOR输出内存问题陈诉MEMORY HELP表现有关内存的使用帮助MEMORY MALLOC-STATS表现分配器内部统计MEMORY PURGE要求分配器开释内存MEMORY STATS表现内存使用详情(该死,运维的我经常用到)MEMORY USAGE估计一个键的内存使用MODULE LIST列出服务器加载的所有模块MODULE LOAD加载模块MODULE UNLOAD卸载模块MONITOR实时监听服务器收到的所有请求SAVE将数据集同步保存到磁盘SHUTDOWN将数据集同步保存到磁盘,然后关闭服务器SLAVEOF使服务器成为另一个实例的副本,或将其提升为主服务器
(从Redis 5开始弃用,改成 REPLICAOF了)REPLICAOF使服务器成为另一个实例的副本,或将其提升为主服务器SLOWLOG管理 Redis 慢查询日志SWAPDB交换两个Redis数据库SYNC用于复制的内部命令(主)PSYNC用于复制的内部命令(备)LATENCY DOCTOR返回人类可读的延迟分析陈诉LATENCY GRAPH返回变乱的延迟图LATENCY HISTORY返回变乱的时间戳延迟样本LATENCY LATEST返回所有变乱的最新延迟样本LATENCY RESET重置一个或多个变乱的延迟数据LATENCY HELP表现有关差异子命令的有用文本 COMMAND
COUNT
COMMAND
COUNT redis> COMMAND
COUNT(integer) 217 获取 Redis 命令总数
COMMAND
GETKEYS
COMMAND
GETKEYS redis> COMMAND
GETKEYS MSET a b c d e f1) "a"2) "c"3) "e"redis> COMMAND
GETKEYS EVAL "not consulted" 3 key1 key2 key3 arg1 arg2 arg3 argN1) "key1"2) "key2"3) "key3"redis> COMMAND
GETKEYS SORT mylist ALPHA STORE outlist1) "mylist"2) "outlist" 给定完整的 Redis 命令提取密钥
COMMAND
INFO
COMMAND
INFO command-name redis> COMMAND
INFO get set eval1) 1) "get" 2) (integer) 2 3) 1) "readonly" 2) "fast" 4) (integer) 1 5) (integer) 1 6) (integer) 1 7) 1) "@read" 2) "@string" 3) "@fast"2) 1) "set" 2) (integer) -3 3) 1) "write" 2) "denyoom" 4) (integer) 1 5) (integer) 1 6) (integer) 1 7) 1) "@write" 2) "@string" 3) "@slow"3) 1) "eval" 2) (integer) -3 3) 1) "noscript" 2) "movablekeys" 4) (integer) 0 5) (integer) 0 6) (integer) 0 7) 1) "@slow" 2) "@scripting" 获取特定 Redis 命令详细信息的数组
INFO
INFO
redis> INFO
# Server
redis_version:6.1.240
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a26db646ea64a07c
redis_mode:standalone
os:Linux 5.4.0-1017-aws x86_64
......
获取有关服务器的信息和统计信息
ROLE
ROLE
redis> ROLE
1) "master"2) (integer) 03) (empty list or set) 返回实例在复制上下文中的脚色
TIME
TIME
redis> TIME
1) "1609040690"2) "558952"redis> TIME
1) "1609040690"2) "559206" 返回当前服务器时间
Redis一些通用的命令
一些引用(大概有帮助)
:-–COPY复制键值对MIGRATE以原子方式将键值对从 Redis 实例传输到另一个实例MOVE将键值对移动到另一个数据库OBJECT查抄 Redis 对象的内部布局RESTORE使用提供的序列化值创建键值对,之前使用 DUMP 获得SORT对列表、集合或有序集合中的元素举行排序WAIT等候在当前连接的上下文中发送的所有写命令的同步复制SCAN增量迭代键空间 DEL
DEL key
redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> DEL key1 key2 key3
(integer) 2
删除键值对
DUMP
DUMP key
redis> SET mykey 10
"OK"
redis> DUMP mykey
"\u0000\xC0\n\t\u0000\xBEm\u0006\x89Z(\u0000\n"
返回存储在指定键中的值的序列化版本
EXISTS
EXISTS key
redis> SET key1 "Hello"
"OK"
redis> EXISTS key1
(integer) 1
redis> EXISTS nosuchkey
(integer) 0
redis> SET key2 "World"
"OK"
redis> EXISTS key1 key2 nosuchkey
(integer) 2
判断键值对是否存在
EXPIRE
EXPIRE key seconds
redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis> SET mykey "Hello World"
"OK"
redis> TTL mykey
(integer) -1
设置键值对的生存时间(以秒为单元)
EXPIREAT
EXPIREAT key timestamp
redis> SET mykey "Hello"
"OK"
redis> EXISTS mykey
(integer) 1
redis> EXPIREAT mykey 1293840000
(integer) 1
redis> EXISTS mykey
(integer) 0
将键值对的到期时间设置为 UNIX 时间戳
KEYS
KEYS pattern
redis> MSET firstname Jack lastname Stuntman age 35
"OK"
redis> KEYS *name*
1) "firstname"
2) "lastname"
redis> KEYS a??
1) "age"
redis> KEYS *
1) "firstname"
2) "age"
3) "lastname"
查找与给定模式匹配的所有键
PERSIST
PERSIST key
redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis> PERSIST mykey
(integer) 1
redis> TTL mykey
(integer) -1
从键值对中删除逾期时间
PEXPIRE
PEXPIRE key milliseconds
redis> SET mykey "Hello"
"OK"
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
(integer) 1
redis> PTTL mykey
(integer) 1499
设置键的生存时间(以毫秒为单元)
PEXPIREAT
PEXPIREAT key milliseconds-timestamp
redis> SET mykey "Hello"
"OK"
redis> PEXPIREAT mykey 1555555555005
(integer) 1
redis> TTL mykey
(integer) -2
redis> PTTL mykey
(integer) -2
将键值对的到期时间设置为以毫秒为单元指定的 UNIX 时间戳
PTTL
PTTL key
redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 1
(integer) 1
redis> PTTL mykey
(integer) 1000
以毫秒为单元获取键值对的生存时间
RENAME
RENAME key newkey
redis> SET mykey "Hello"
"OK"
redis> RENAME mykey myotherkey
"OK"
redis> GET myotherkey
"Hello"
重定名键值对
RENAMENX
RENAMENX key newkey
redis> SET mykey "Hello"
"OK"
redis> SET myotherkey "World"
"OK"
redis> RENAMENX mykey myotherkey
(integer) 0
redis> GET myotherkey
"World"
重定名键值对,仅当新键值对不存在时
TOUCH
TOUCH key
redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> TOUCH key1 key2
(integer) 2
更改键值对的最后访问时间。返回指定的现有键的数量
TTL
TTL key
redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
获得一个键的值的时间(有点绕口,但意思是对的)
TYPE
TYPE key
redis> SET key1 "value""OK"redis> LPUSH key2 "value"(integer) 1redis> SADD key3 "value"(integer) 1redis> TYPE key
1"string"redis> TYPE key
2"list"redis> TYPE key
3"set" 确定存储在键中的类型
UNLINK
UNLINK key
redis> SET key1 "Hello"
"OK"
redis> SET key2 "World"
"OK"
redis> UNLINK key1 key2 key3
(integer) 2
在另一个线程中异步删除一个键。否则它就像 DEL,但不是阻塞的
Redis 连接相关的命令
一些引用(大概有帮助)
:-–AUTH向服务器举行身份验证CLIENT CACHING指示服务器在下一个请求中是否跟踪键CLIENT KILL停止客户端的连接CLIENT LIST获取客户端连接列表CLIENT GETNAME获取当前连接名称CLIENT GETREDIR获取跟踪通知重定向客户端 ID(如果有)CLIENT PAUSE克制处理来自客户端的命令一段时间CLIENT REPLY指示服务器是否复兴命令CLIENT SETNAME设置当前连接名称CLIENT TRACKING启用或禁用服务器辅助客户端缓存支持CLIENT UNBLOCK取消制止来自差异连接的阻塞命令中阻塞的客户端HELLO切换Redis协议QUIT关闭连接RESET重置连接SELECT更改为当前连接选择的数据库 CLIENT ID
CLIENT ID
redis> CLIENT ID
ERR Unknown or disabled command 'CLIENT' 返回当前连接的客户端 ID
CLIENT INFO
CLIENT INFO
redis> CLIENT INFO
"id=55542 addr=127.0.0.1:58710 laddr=127.0.0.1:6379 fd=8 name= age=114920 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=40928 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 events=r cmd=client user=default redir=-1\n" 返回有关当前客户端连接的信息。
ECHO
ECHO message
redis> ECHO "Hello World!"
"Hello World!"
回显给定的字符串
PING
PING
redis> PING
"PONG"
redis> PING "hello world"
"hello world"
ping 服务器
Redis 字符串类型设置
APPEND
APPEND key value
redis> EXISTS mykey
(integer) 0
redis> APPEND mykey "Hello"
(integer) 5
redis> APPEND mykey " World"
(integer) 11
redis> GET mykey
"Hello World"
将值附加到键,可以理解为追加作用
BITCOUNT
BITCOUNT key
redis> SET mykey "foobar"
"OK"
redis> BITCOUNT mykey
(integer) 26
redis> BITCOUNT mykey 0 0
(integer) 4
redis> BITCOUNT mykey 1 1
(integer) 6
盘算字符串中的集合位
BITFIELD
BITFIELD key
redis> BITFIELD mykey INCRBY i5 100 1 GET u4 0
1) (integer) 1
2) (integer) 0
对字符串执行任意位域整数运算
BITOP
BITOP operation destkey key
redis> SET key1 "foobar"
"OK"
redis> SET key2 "abcdef"
"OK"
redis> BITOP AND dest key1 key2
(integer) 6
redis> GET dest
"`bc`ab"
在字符串之间执行按位运算
BITPOS
BITPOS key bit
redis> SET mykey "\xff\xf0\x00"
"OK"
redis> BITPOS mykey 0
(integer) 12
redis> SET mykey "\x00\xff\xf0"
"OK"
redis> BITPOS mykey 1 0
(integer) 8
redis> BITPOS mykey 1 2
(integer) 16
redis> set mykey "\x00\x00\x00"
"OK"
redis> BITPOS mykey 1
(integer) -1
查找字符串中设置或清除的第一位
DECR
DECR key
redis> SET mykey "10"
"OK"
redis> DECR mykey
(integer) 9
redis> SET mykey "234293482390480948029348230948"
"OK"
redis> DECR mykey
ERR ERR value is not an integer or out of range
将键的整数值减一
DECRBY
DECRBY key decrement
redis> SET mykey "10"
"OK"
redis> DECRBY mykey 3
(integer) 7
将键的整数值减去给定的数字
GET
GET key
redis> GET nonexisting
(nil)
redis> SET mykey "Hello"
"OK"
redis> GET mykey
"Hello"
获取key的值
GETBIT
GETBIT key offset
redis> SETBIT mykey 7 1
(integer) 0
redis> GETBIT mykey 0
(integer) 0
redis> GETBIT mykey 7
(integer) 1
redis> GETBIT mykey 100
(integer) 0
返回存储在 key 处的字符串值中 offset 处的位值
GETRANGE
GETRANGE key start end
redis> SET mykey "This is a string"
"OK"
redis> GETRANGE mykey 0 3
"This"
redis> GETRANGE mykey -3 -1
"ing"
redis> GETRANGE mykey 0 -1
"This is a string"
redis> GETRANGE mykey 10 100
"string"
获取存储在键中的字符串的子字符串
GETSET
GETSET key value
redis> INCR mycounter
(integer) 1
redis> GETSET mycounter "0"
"1"
redis> GET mycounter
"0"
设置键的字符串值并返回其旧值
INCR
INCR key
redis> SET mykey "10"
"OK"
redis> INCR mykey
(integer) 11
redis> GET mykey
"11"
将键的整数值加一
MSETNX
MSETNX key value
redis> MSETNX key1 "Hello" key2 "there"(integer) 1redis> MSETNX key2 "new" key3 "world"(integer) 0redis> MGET key
1 key2 key31) "Hello"2) "there"3) (nil) 仅当不存在任何键时,将多个键设置为多个值
INCRBYFLOAT
INCRBYFLOAT key increment
redis> SET mykey 10.50
"OK"
redis> INCRBYFLOAT mykey 0.1
"10.6"
redis> INCRBYFLOAT mykey -5
"5.6"
redis> SET mykey 5.0e3
"OK"
redis> INCRBYFLOAT mykey 2.0e2
"5200"
将键的浮点值增加给定的数量
MGET
MGET key
redis> SET key1 "Hello""OK"redis> SET key2 "World""OK"redis> MGET key
1 key2 nonexisting1) "Hello"2) "World"3) (nil) 获取所有给定键的值
MSET
MSET key value
redis> MSET key1 "Hello" key2 "World""OK"redis> GET key
1"Hello"redis> GET key
2"World" 将多个键设置为多个值
INCRBY
INCRBY key increment
redis> SET mykey "10"
"OK"
redis> INCRBY mykey 5
(integer) 15
将键的整数值增加给定的数量
PSETEX
PSETEX key milliseconds value
redis> PSETEX mykey 1000 "Hello"
"OK"
redis> PTTL mykey
(integer) 1000
redis> GET mykey
"Hello"
设置键的值和逾期时间(以毫秒为单元)
SET
SET key value
redis> SET mykey "Hello"
"OK"
redis> GET mykey
"Hello"
redis> SET anotherkey "will expire in a minute" EX 60
"OK"
设置键的字符串值,可以理解为创建、设置、重设的作用
SETBIT
SETBIT key offset value
redis> SETBIT mykey 7 1
(integer) 0
redis> SETBIT mykey 7 0
(integer) 1
redis> GET mykey
"\u0000"
设置或清除存储在键中的字符串值中偏移量处的位
SETEX
SETEX key seconds value
redis> SETEX mykey 10 "Hello"
"OK"
redis> TTL mykey
(integer) 10
redis> GET mykey
"Hello"
设置密钥的值和逾期时间
SETNX
SETNX key value
redis> SETNX mykey "Hello"
(integer) 1
redis> SETNX mykey "World"
(integer) 0
redis> GET mykey
"Hello"
设置键的值,仅当键不存在时
SETRANGE
SETRANGE key offset value
redis> SET key1 "Hello World""OK"redis> SETRANGE key1 6 "Redis"(integer) 11redis> GET key
1"Hello Redis" 覆盖从指定偏移量开始的键处的字符串的一部分
STRLEN
STRLEN key
redis> SET mykey "Hello world"
"OK"
redis> STRLEN mykey
(integer) 11
redis> STRLEN nonexisting
(integer) 0
获取存储在键中的值的长度
STRALGO
STRALGO LCS algo-specific-argument [algo-specific-argument
...]
redis> STRALGO LCS KEYS key1 key2 IDX
1) "matches"
2) 1) 1) 1) (integer) 4
2) (integer) 7
2) 1) (integer) 5
2) (integer) 8
2) 1) 1) (integer) 2
2) (integer) 3
2) 1) (integer) 0
2) (integer) 1
3) "len"
4) (integer) 6
针对字符串运行算法(目前为 LCS)
Redis 集合类型设置
SADD
SADD key member
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SADD myset "World"
(integer) 0
redis> SMEMBERS myset
1) "Hello"
2) "World"
将一个或多个成员添加到集合
SCARD
SCARD key
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SCARD myset
(integer) 2
获取集合中的成员数
SDIFF
SDIFF key
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFF key1 key2
1) "a"
2) "b"
减去多组
SDIFFSTORE
SDIFFSTORE destination key
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFFSTORE key key1 key2
(integer) 2
redis> SMEMBERS key
1) "a"
2) "b"
减去多个集合并将结果集合存储在一个键中
SINTER
SINTER key
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SINTER key1 key2
1) "c"
交叉多个集合
SINTERSTORE
SINTERSTORE destination key
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SINTERSTORE key key1 key2
(integer) 1
redis> SMEMBERS key
1) "c"
将多个集合相交并将结果集合存储在一个键中
SISMEMBER
SISMEMBER key member
redis> SADD myset "one"
(integer) 1
redis> SISMEMBER myset "one"
(integer) 1
redis> SISMEMBER myset "two"
(integer) 0
确定给定值是否是集合的成员
SMISMEMBER
SMISMEMBER key member
redis> SADD myset "one"
(integer) 1
redis> SADD myset "one"
(integer) 0
redis> SMISMEMBER myset "one" "notamember"
1) (integer) 1
2) (integer) 0
返回与集合的给定元素关联的成员资格
SMEMBERS
SMEMBERS key
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SMEMBERS myset
1) "Hello"
2) "World"
获取集合中的所有成员
SMOVE
SMOVE source destination member
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myotherset "three"
(integer) 1
redis> SMOVE myset myotherset "two"
(integer) 1
redis> SMEMBERS myset
1) "one"
redis> SMEMBERS myotherset
1) "two"
2) "three"
将成员从一组移到另一组
SPOP
SPOP key
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SPOP myset
"two"
redis> SMEMBERS myset
1) "one"
2) "three"
redis> SADD myset "four"
(integer) 1
redis> SADD myset "five"
(integer) 1
redis> SPOP myset 3
1) "four"
2) "five"
3) "three"
redis> SMEMBERS myset
1) "one"
从集合中删除并返回一个或多个随机成员
SRANDMEMBER
SRANDMEMBER key
redis> SADD myset one two three
(integer) 3
redis> SRANDMEMBER myset
"three"
redis> SRANDMEMBER myset 2
1) "two"
2) "three"
redis> SRANDMEMBER myset -5
1) "one"
2) "two"
3) "three"
4) "three"
5) "one"
从一组中获取一个或多个随机成员
SREM
SREM key member
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SREM myset "one"
(integer) 1
redis> SREM myset "four"
(integer) 0
redis> SMEMBERS myset
1) "two"
2) "three"
从集合中删除一个或多个成员
SUNION
SUNION key
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SUNION key1 key2
1) "a"
2) "c"
3) "e"
4) "b"
5) "d"
添加多组
SUNIONSTORE
SUNIONSTORE destination key
redis> SADD key1 "a"(integer) 1redis> SADD key1 "b"(integer) 1redis> SADD key1 "c"(integer) 1redis> SADD key2 "c"(integer) 1redis> SADD key2 "d"(integer) 1redis> SADD key2 "e"(integer) 1redis> SUNIONSTORE key key1 key2(integer) 5redis> SMEMBERS key
1) "a"2) "c"3) "e"4) "b"5) "d" 添加多个集合并将结果集合存储在一个键中
Redis 列表类型设置
一些引用(大概有帮助)
:-–BRPOPLPUSH从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用BLMOVE从列表中弹出一个元素,将其推入另一个列表并返回;或阻塞直到有一个可用 BLPOP
BLPOP key timeout
redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BLPOP list1 list2 0
1) "list1"
2) "a"
删除并获取列表中的第一个元素,或者阻塞直到有一个元素可用
BRPOP
BRPOP key timeout
redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BRPOP list1 list2 0
1) "list1"
2) "c"
删除并获取列表中的最后一个元素,或者阻塞直到有一个可用
LINDEX
LINDEX key index
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LINDEX mylist 0
"Hello"
redis> LINDEX mylist -1
"World"
redis> LINDEX mylist 3
(nil)
通过索引从列表中获取元素
LINSERT
LINSERT key BEFORE|AFTER pivot element
redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"
在列表中的另一个元素之前或之后插入一个元素
LLEN
LLEN key
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LLEN mylist
(integer) 2
获取列表的长度
LPOP
LPOP key
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LPOP mylist
"one"
redis> LRANGE mylist 0 -1
1) "two"
2) "three"
删除并获取列表中的第一个元素
LPOS
LPOS key element
redis> RPUSH mylist a b c d 1 2 3 4 3 3 3
(integer) 11
redis> LPOS mylist 3
(integer) 6
redis> LPOS mylist 3 COUNT 0 RANK 2
1) (integer) 8
2) (integer) 9
3) (integer) 10
返回列表中匹配元素的索引
LPUSH
LPUSH key element
redis> LPUSH mylist "world"
(integer) 1
redis> LPUSH mylist "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"
将一个或多个元素添加到列表中
LPUSHX
LPUSHX key element
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSHX mylist "Hello"
(integer) 2
redis> LPUSHX myotherlist "Hello"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty list or set)
仅当列表存在时才将元素添加到列表中
LRANGE
LRANGE key start stop
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LRANGE mylist 0 0
1) "one"
redis> LRANGE mylist -3 2
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist -100 100
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist 5 10
(empty list or set)
从列表中获取一系列元素
LREM
LREM key count element
redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "hello"
(integer) 2
redis> RPUSH mylist "foo"
(integer) 3
redis> RPUSH mylist "hello"
(integer) 4
redis> LREM mylist -2 "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "foo"
从列表中删除元素
LSET
LSET key index element
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LSET mylist 0 "four"
"OK"
redis> LSET mylist -2 "five"
"OK"
redis> LRANGE mylist 0 -1
1) "four"
2) "five"
3) "three"
通过索引设置列表中元素的值
LTRIM
LTRIM key start stop
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LTRIM mylist 1 -1
"OK"
redis> LRANGE mylist 0 -1
1) "two"
2) "three"
将列表修剪到指定范围
RPOP
RPOP key
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> RPOP mylist
"three"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
删除并获取列表中的最后一个元素
RPOPLPUSH
RPOPLPUSH source destination
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> RPOPLPUSH mylist myotherlist
"three"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
redis> LRANGE myotherlist 0 -1
1) "three"
删除列表中的最后一个元素,将其添加到另一个列表中并返回
LMOVE
LMOVE source destination LEFT|RIGHT LEFT|RIGHT
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LMOVE mylist myotherlist RIGHT LEFT
"three"
redis> LMOVE mylist myotherlist LEFT RIGHT
"one"
redis> LRANGE mylist 0 -1
1) "two"
redis> LRANGE myotherlist 0 -1
1) "three"
2) "one"
从列表中弹出一个元素,将其推入另一个列表并返回
RPUSH
RPUSH key element
redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "world"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"
将一个或多个元素附加到列表
RPUSHX
RPUSHX key element
redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSHX mylist "World"
(integer) 2
redis> RPUSHX myotherlist "World"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty list or set)
仅当列表存在时才将元素附加到列表
Redis 哈希类型设置
HDEL
HDEL key field
redis> HSET myhash field1 "foo"
(integer) 1
redis> HDEL myhash field1
(integer) 1
redis> HDEL myhash field2
(integer) 0
删除一个或多个哈希字段
HEXISTS
HEXISTS key field
redis> HSET myhash field1 "foo"
(integer) 1
redis> HEXISTS myhash field1
(integer) 1
redis> HEXISTS myhash field2
(integer) 0
判断哈希字段是否存在
HGET
HGET key
field redis> HSET myhash field1 "foo"
(integer) 1
redis> HGET myhash field1
"foo"
redis> HGET myhash field2
(nil)
获取哈希字段的值
HGETALL
HGETALL key
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"
获取哈希中的所有字段和值
HINCRBY
HINCRBY key field increment
redis> HSET myhash field 5
(integer) 1
redis> HINCRBY myhash field 1
(integer) 6
redis> HINCRBY myhash field -1
(integer) 5
redis> HINCRBY myhash field -10
(integer) -5
将哈希字段的整数值增加给定的数字
HINCRBYFLOAT
HINCRBYFLOAT key field increment
redis> HSET mykey field 10.50
(integer) 1
redis> HINCRBYFLOAT mykey field 0.1
"10.6"
redis> HINCRBYFLOAT mykey field -5
"5.6"
redis> HSET mykey field 5.0e3
(integer) 0
redis> HINCRBYFLOAT mykey field 2.0e2
"5200"
将哈希字段的浮点值增加给定的数量
HKEYS
HKEYS key
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HKEYS myhash
1) "field1"
2) "field2"
获取哈希中的所有字段
HLEN
HLEN key
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HLEN myhash
(integer) 2
获取哈希中的字段数
HMGET
HMGET key
field redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HMGET myhash field1 field2 nofield
1) "Hello"
2) "World"
3) (nil)
获取所有给定哈希字段的值
HMSET
HMSET key field value
redis> HMSET myhash field1 "Hello" field2 "World"
"OK"
redis> HGET myhash field1
"Hello"
redis> HGET myhash field2
"World"
将多个哈希字段设置为多个值
HSET
HSET key field value
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HGET myhash field1
"Hello"
设置哈希字段的字符串值
HSETNX
HSETNX key field value
redis> HSETNX myhash field "Hello"
(integer) 1
redis> HSETNX myhash field "World"
(integer) 0
redis> HGET myhash field
"Hello"
设置哈希字段的值,仅当该字段不存在时
HSTRLEN
HSTRLEN key
field redis> HMSET myhash f1 HelloWorld f2 99 f3 -256
"OK"
redis> HSTRLEN myhash f1
(integer) 10
redis> HSTRLEN myhash f2
(integer) 2
redis> HSTRLEN myhash f3
(integer) 4
获取哈希字段值的长度
HVALS
HVALS key
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HVALS myhash
1) "Hello"
2) "World"
获取哈希中的所有值
Redis 排序集类型设置
BZPOPMIN
BZPOPMIN key timeout
redis> DEL zset1 zset2
(integer) 0
redis> ZADD zset1 0 a 1 b 2 c
(integer) 3
redis> BZPOPMIN zset1 zset2 0
1) "zset1"
2) "a"
3) "0"
从一个或多个排序集合中删除并返回得分最低的成员,或者阻塞直到一个可用
BZPOPMAX
BZPOPMAX key timeout
redis> DEL zset1 zset2
(integer) 0
redis> ZADD zset1 0 a 1 b 2 c
(integer) 3
redis> BZPOPMAX zset1 zset2 0
1) "zset1"
2) "c"
3) "2"
从一个或多个排序集合中删除并返回得分最高的成员,或者阻塞直到一个可用
ZADD
ZADD key score member [score
member ...]
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 1 "uno"
(integer) 1
redis> ZADD myzset 2 "two" 3 "three"
(integer) 2
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "one"
2) "1"
3) "uno"
4) "1"
5) "two"
6) "2"
7) "three"
8) "3"
将一个或多个成员添加到有序集合中,或者更新其分数(如果它已经存在)
ZCARD
ZCARD key
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZCARD myzset
(integer) 2
获取有序集合中的成员数
ZSCORE
ZSCORE key member
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZSCORE myzset "one"
"1"
获取与排序集中给定成员关联的分数
ZCOUNT
ZCOUNT key min max
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZCOUNT myzset -inf +inf
(integer) 3
redis> ZCOUNT myzset (1 3
(integer) 2
盘算得分在给定值内的排序集中的成员
ZDIFF
ZDIFF numkeys key
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset1 3 "three"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZDIFF 2 zset1 zset2
1) "three"
redis> ZDIFF 2 zset1 zset2 WITHSCORES
1) "three"
2) "3"
减去多个排序集
ZDIFFSTORE
ZDIFFSTORE destination numkeys key
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset1 3 "three"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZDIFFSTORE out 2 zset1 zset2
(integer) 1
redis> ZRANGE out 0 -1 WITHSCORES
1) "three"
2) "3"
减去多个排序集并将天生的排序集存储在新键中
ZINCRBY
ZINCRBY key increment
member redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZINCRBY myzset 2 "one"
"3"
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "one"
4) "3"
增加排序集中成员的分数
ZINTER
ZINTER numkeys key ]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZINTER 2 zset1 zset2
1) "one"
2) "two"
redis> ZINTER 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "two"
4) "4"
与多个排序集相交
ZINTERSTORE
ZINTERSTORE destination numkeys key [WEIGHTS weight
]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 2
redis> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "two"
4) "10"
将多个排序集相交并将天生的排序集存储在新键中
ZLEXCOUNT
ZLEXCOUNT key min max
redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e
(integer) 5
redis> ZADD myzset 0 f 0 g
(integer) 2
redis> ZLEXCOUNT myzset - +
(integer) 7
redis> ZLEXCOUNT myzset [b [f
(integer) 5
盘算给定辞书范围之间的有序集合中的成员数
ZPOPMAX
ZPOPMAX key
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMAX myzset
1) "three"
2) "3"
删除并返回排序集中得分最高的成员
ZPOPMIN
ZPOPMIN key
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMIN myzset
1) "one"
2) "1"
删除并返回排序集中得分最低的成员
ZRANGE
ZRANGE key start stop
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANGE myzset 0 -1
1) "one"
2) "two"
3) "three"
redis> ZRANGE myzset 2 3
1) "three"
redis> ZRANGE myzset -2 -1
1) "two"
2) "three"
按索引返回排序集中的一系列成员
ZRANGEBYLEX
ZRANGEBYLEX key min max
redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis> ZRANGEBYLEX myzset - [c
1) "a"
2) "b"
3) "c"
redis> ZRANGEBYLEX myzset - (c
1) "a"
2) "b"
redis> ZRANGEBYLEX myzset [aaa (g
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
按辞书次序返回排序集中的一系列成员
ZREVRANGEBYLEX
ZREVRANGEBYLEX key max min
redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis> ZREVRANGEBYLEX myzset [c -
1) "c"
2) "b"
3) "a"
redis> ZREVRANGEBYLEX myzset (c -
1) "b"
2) "a"
redis> ZREVRANGEBYLEX myzset (g [aaa
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"
返回排序集中的一系列成员,按字典范围,从高到低的字符串排序。
ZRANGEBYSCORE
ZRANGEBYSCORE key min max
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANGEBYSCORE myzset -inf +inf
1) "one"
2) "two"
3) "three"
redis> ZRANGEBYSCORE myzset 1 2
1) "one"
2) "two"
redis> ZRANGEBYSCORE myzset (1 2
1) "two"
redis> ZRANGEBYSCORE myzset (1 (2
(empty list or set)
按分数返回排序集中的一系列成员
ZRANK
ZRANK key member
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANK myzset "three"
(integer) 2
redis> ZRANK myzset "four"
(nil)
确定有序集合中成员的索引
ZREM
ZREM key member
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREM myzset "two"
(integer) 1
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "one"
2) "1"
3) "three"
4) "3"
从有序集合中移除一个或多个成员
ZREMRANGEBYLEX
ZREMRANGEBYLEX key min max
redis> ZADD myzset 0 aaaa 0 b 0 c 0 d 0 e
(integer) 5
redis> ZADD myzset 0 foo 0 zap 0 zip 0 ALPHA 0 alpha
(integer) 5
redis> ZRANGE myzset 0 -1
1) "ALPHA"
2) "aaaa"
3) "alpha"
4) "b"
5) "c"
6) "d"
7) "e"
8) "foo"
9) "zap"
10) "zip"
redis> ZREMRANGEBYLEX myzset [alpha [omega
(integer) 6
redis> ZRANGE myzset 0 -1
1) "ALPHA"
2) "aaaa"
3) "zap"
4) "zip"
删除给定辞书范围之间的排序集中的所有成员
ZREMRANGEBYRANK
ZREMRANGEBYRANK key start stop
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREMRANGEBYRANK myzset 0 1
(integer) 2
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "three"
2) "3"
删除给定索引内排序集中的所有成员
ZREMRANGEBYSCORE
ZREMRANGEBYSCORE key min max
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREMRANGEBYSCORE myzset -inf (2
(integer) 1
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "three"
4) "3"
删除给定分数内排序集中的所有成员
ZREVRANGE
ZREVRANGE key start stop
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGE myzset 0 -1
1) "three"
2) "two"
3) "one"
redis> ZREVRANGE myzset 2 3
1) "one"
redis> ZREVRANGE myzset -2 -1
1) "two"
2) "one"
按索引返回排序集中的一系列成员,分数从高到低排序
ZREVRANGEBYSCORE
ZREVRANGEBYSCORE key max min
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGEBYSCORE myzset +inf -inf
1) "three"
2) "two"
3) "one"
redis> ZREVRANGEBYSCORE myzset 2 1
1) "two"
2) "one"
redis> ZREVRANGEBYSCORE myzset 2 (1
1) "two"
redis> ZREVRANGEBYSCORE myzset (2 (1
(empty list or set)
按分数返回排序集中的一系列成员,分数从高到低排序
ZREVRANK
ZREVRANK key member
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANK myzset "one"
(integer) 2
redis> ZREVRANK myzset "four"
(nil)
确定一个成员在有序集合中的索引,分数从高到低排序
ZUNION
ZUNION numkeys key ]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZUNION 2 zset1 zset2
1) "one"
2) "three"
3) "two"
redis> ZUNION 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "three"
4) "3"
5) "two"
6) "4"
添加多个排序集
ZMSCORE
ZMSCORE key member
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZMSCORE myzset "one" "two" "nofield"
1) "1"
2) "2"
3) (nil)
获取与排序集中给定成员关联的分数
ZUNIONSTORE
ZUNIONSTORE destination numkeys key [WEIGHTS weight
]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZUNIONSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 3
redis> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "three"
4) "9"
5) "two"
6) "10"
添加多个排序集并将天生的排序集存储在新键中
Redis舆图坐标集类型设置
GEOADD
GEOADD key longitude latitude member
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEODIST Sicily Palermo Catania
"166274.1516"
redis> GEORADIUS Sicily 15 37 100 km
1) "Catania"
redis> GEORADIUS Sicily 15 37 200 km
1) "Palermo"
2) "Catania"
在使用排序团表现的地理空间索引中添加一个或多个地理空间项
GEOHASH
GEOHASH key member
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOHASH Sicily Palermo Catania
1) "sqc8b49rny0"
2) "sqdtr74hyu0"
将地理空间索引的成员作为标准 geohash 字符串返回
GEOPOS
GEOPOS key member
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOPOS Sicily Palermo Catania NonExisting
1) 1) "13.36138933897018433"
2) "38.11555639549629859"
2) 1) "15.08726745843887329"
2) "37.50266842333162032"
3) (nil)
返回地理空间索引成员的经度和纬度
GEODIST
GEODIST key member1 member2
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEODIST Sicily Palermo Catania
"166274.1516"
redis> GEODIST Sicily Palermo Catania km
"166.2742"
redis> GEODIST Sicily Palermo Catania mi
"103.3182"
redis> GEODIST Sicily Foo Bar
(nil)
返回地理空间索引的两个成员之间的间隔
GEORADIUS
GEORADIUS key longitude latitude radius m|km|ft|mi [COUNT
count]
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEORADIUS Sicily 15 37 200 km WITHDIST
1) 1) "Palermo"
2) "190.4424"
2) 1) "Catania"
2) "56.4413"
redis> GEORADIUS Sicily 15 37 200 km WITHCOORD
1) 1) "Palermo"
2) 1) "13.36138933897018433"
2) "38.11555639549629859"
2) 1) "Catania"
2) 1) "15.08726745843887329"
2) "37.50266842333162032"
redis> GEORADIUS Sicily 15 37 200 km WITHDIST WITHCOORD
1) 1) "Palermo"
2) "190.4424"
3) 1) "13.36138933897018433"
2) "38.11555639549629859"
2) 1) "Catania"
2) "56.4413"
3) 1) "15.08726745843887329"
2) "37.50266842333162032"
查询表现地理空间索引的排序集,以获取与某个点的给定最大间隔匹配的成员
GEORADIUSBYMEMBER
GEORADIUSBYMEMBER key member radius m|km|ft|mi
redis> GEOADD Sicily 13.583333 37.316667 "Agrigento"
(integer) 1
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEORADIUSBYMEMBER Sicily Agrigento 100 km
1) "Agrigento"
2) "Palermo"
查询表现地理空间索引的排序集,以获取与成员的给定最大间隔相匹配的成员
GEOSEARCH
GEOSEARCH key
redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOADD Sicily 12.758489 38.788135 "edge1" 17.241510 38.788135 "edge2"
(integer) 2
redis> GEOSEARCH Sicily FROMLONLAT 15 37 BYRADIUS 200 km ASC
1) "Catania"
2) "Palermo"
redis> GEOSEARCH Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC
1) "Catania"
2) "Palermo"
3) "edge2"
4) "edge1"
查询表现地理空间索引的排序集,以获取框或圆区域内的成员。
一些引用(大概有帮助)
:-–GEOSEARCHSTORE查询表现地理空间索引的排序集以获取框或圆区域内的成员,并将结果存储在另一个键中Redis超文本日志类型设置
PFADD
PFADD key element
redis> PFADD hll a b c d e f g
(integer) 1
redis> PFCOUNT hll
(integer) 7
将指定的元素添加到指定的HyperLogLog。
PFCOUNT
PFCOUNT key
redis> PFADD hll foo bar zap
(integer) 1
redis> PFADD hll zap zap zap
(integer) 0
redis> PFADD hll foo bar
(integer) 0
redis> PFCOUNT hll
(integer) 3
redis> PFADD some-other-hll 1 2 3
(integer) 1
redis> PFCOUNT hll some-other-hll
(integer) 6
返回HyperLogLog在键处观察到的集合的近似基数。
PFMERGE
PFMERGE destkey sourcekey
redis> PFADD hll1 foo bar zap a
(integer) 1
redis> PFADD hll2 a b c foo
(integer) 1
redis> PFMERGE hll3 hll1 hll2
"OK"
redis> PFCOUNT hll3
(integer) 6
将N个差异的HyperLogLogs合并成一个。
Redis流命令
一些引用(大概有帮助)
:-–XINFO获取有关流和消耗者组的信息XDEL从流中删除指定的条目。返回实际删除的项目数,如果某些 ID 不存在,则大概与传递的 ID 数差异XREAD返回多个流中从未见过的元素,其 ID 大于调用者为每个流陈诉的 IDXGROUP创建、烧毁和管理消耗者组XREADGROUP使用消耗者组从流中返回新条目,或访问给定消耗者的待处理条目的历史记录XCLAIM更改(或获取)消耗者组中消息的所有权,就好像消息已传递给指定的消耗者一样XPENDING从流消耗者组待定条目列表中返复书息和条目,这些信息是已获取但从未确认的消息XADD
XADD key length] *|ID field value
redis> XADD mystream * name Sara surname OConnor
"1609040574632-0"
redis> XADD mystream * field1 value1 field2 value2 field3 value3
"1609040574632-1"
redis> XLEN mystream
(integer) 2
redis> XRANGE mystream - +
1) 1) "1609040574632-0"
2) 1) "name"
2) "Sara"
3) "surname"
4) "OConnor"
2) 1) "1609040574632-1"
2) 1) "field1"
2) "value1"
3) "field2"
4) "value2"
5) "field3"
6) "value3"
将新条目附加到流
XTRIM
XTRIM key MAXLEN [=|~] length
redis> XADD mystream * field1 A field2 B field3 C field4 D
"1609040575750-0"
redis> XTRIM mystream MAXLEN 2
(integer) 0
redis> XRANGE mystream - +
1) 1) "1609040575750-0"
2) 1) "field1"
2) "A"
3) "field2"
4) "B"
5) "field3"
6) "C"
7) "field4"
8) "D"
将流修剪为(大约如果传递了“~”)特定巨细
XRANGE
XRANGE key start end
redis> XADD writers * name Virginia surname Woolf
"1609040578002-0"
redis> XADD writers * name Jane surname Austen
"1609040578002-1"
redis> XADD writers * name Toni surname Morrison
"1609040578003-0"
redis> XADD writers * name Agatha surname Christie
"1609040578003-1"
redis> XADD writers * name Ngozi surname Adichie
"1609040578003-2"
redis> XLEN writers
(integer) 5
redis> XRANGE writers - + COUNT 2
1) 1) "1609040578002-0"
2) 1) "name"
2) "Virginia"
3) "surname"
4) "Woolf"
2) 1) "1609040578002-1"
2) 1) "name"
2) "Jane"
3) "surname"
4) "Austen"
返回流中的一系列元素,其 ID 与指定的 ID 间隔相匹配
XREVRANGE
XREVRANGE key end start
redis> XADD writers * name Virginia surname Woolf
"1609040579130-0"
redis> XADD writers * name Jane surname Austen
"1609040579130-1"
redis> XADD writers * name Toni surname Morrison
"1609040579130-2"
redis> XADD writers * name Agatha surname Christie
"1609040579131-0"
redis> XADD writers * name Ngozi surname Adichie
"1609040579131-1"
redis> XLEN writers
(integer) 5
redis> XREVRANGE writers + - COUNT 1
1) 1) "1609040579131-1"
2) 1) "name"
2) "Ngozi"
3) "surname"
4) "Adichie"
返回流中的一系列元素,ID 与指定的 ID 间隔相匹配,与 XRANGE 相比,次序相反(从大到小的 ID)
XLEN
XLEN key
redis> XADD mystream * item 1
"1609040580250-0"
redis> XADD mystream * item 2
"1609040580250-1"
redis> XADD mystream * item 3
"1609040580251-0"
redis> XLEN mystream
(integer) 3
返回流中的条目数
XACK
XACK key group ID
redis> XACK mystream mygroup 1526569495631-0
ERR Unknown or disabled command 'XACK'
将待处理消息标记为已正确处理,有用地将其从消耗者组的待处理条目列表中删除,该命令的返回值是成功确认的消息数,即我们实际能够在 PEL 中解析的 ID
集群方面的东西
节点、集群
:-–CLUSTER ADDSLOTS为吸收节点分配新的哈希槽CLUSTER BUMPEPOCH提前集群配置纪元CLUSTER COUNT-FAILURE-REPORTS返回给定节点的活动故障陈诉数CLUSTER COUNTKEYSINSLOT返回指定哈希槽中本地键的个数CLUSTER DELSLOTS在吸收节点中将哈希槽设置为未绑定CLUSTER FAILOVER逼迫副本对其主副本执行手动故障转移CLUSTER FLUSHSLOTS删除节点自身的slot信息CLUSTER FORGET从节点表中删除一个节点CLUSTER GETKEYSINSLOT返回指定哈希槽中的本地键名CLUSTER INFO提供有关 Redis 集群节点状态的信息CLUSTER KEYSLOT返回指定键的哈希槽CLUSTER MEET逼迫节点集群与另一个节点握手CLUSTER MYID返回节点idCLUSTER NODES获取节点的集群配置CLUSTER REPLICATE将节点重新配置为指定主节点的副本CLUSTER RESET重置 Redis 集群节点CLUSTER SAVECONFIG逼迫节点将集群状态保存在磁盘上CLUSTER SET-CONFIG-EPOCH在新节点中设置配置纪元CLUSTER SETSLOT将哈希槽绑定到特定节点CLUSTER SLAVES列出指定主节点的副本节点CLUSTER REPLICAS列出指定主节点的副本节点CLUSTER SLOTS获取集群插槽数组到节点映射READONLY为到集群副本节点的连接启用读取查询READWRITE禁用对集群副本节点连接的读取查询 生意业务
:-–DISCARD丢弃 MULTI 之后发出的所有命令EXEC执行 MULTI 之后发出的所有命令MULTI标记事务块的开始UNWATCH忘记所有监视的键WATCH观察给定的键以确定MULTI/EXEC块的执行 脚本
:-–EVAL执行 Lua 脚本服务器端EVALSHA执行 Lua 脚本服务器端SCRIPT DEBUG为执行的脚本设置调试模式SCRIPT EXISTS查抄脚本缓存中是否存在脚本SCRIPT FLUSH从脚本缓存中删除所有脚本SCRIPT KILL停止当前正在执行的脚本SCRIPT LOAD将指定的 Lua 脚本加载到脚本缓存中 发布操纵
:-–PSUBSCRIBE侦听发布到与给定模式匹配的频道的消息PUBSUB查抄 Pub/Sub 子体系的状态PUBLISH向频道发布消息PUNSUBSCRIBE克制监听发布到与给定模式匹配的频道的消息SUBSCRIBE收听发布到给定频道的消息UNSUBSCRIBE克制收听发布到给定频道的消息
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]