2021-01-31

Redis学习笔记:命令

本文更新于2021-01-31,使用Redis 6.0.8,操作系统为Deepin 15.11。

目录
  • 分类
    • 字符串
    • 列表
    • 无序集
    • 有序集
    • 无序散列
    • 删除
    • 排序
    • 过期
    • 事务
    • 发布/订阅
    • 持久化
    • 复制
    • 管理
    • 脚本
  • 命令
    • APPEND
    • BGREWRITEAOF
    • BGSAVE
    • BITCOUNT
    • BITOP
    • BLPOP
    • BRPOP
    • BRPOPLPUSH
    • DEBUG OBJECT
    • DECR
    • DECRBY
    • DEL
    • DISCARD
    • EVAL
    • EVALSHA
    • EXEC
    • EXPIRE
    • EXPIREAT
    • GET
    • GETBIT
    • GETRANGE
    • HDEL
    • HEXISTS
    • HGET
    • HGETALL
    • HINCRBY
    • HINCRBYFLOAT
    • HKEYS
    • HLEN
    • HMGET
    • HMSET
    • HSET
    • HVALS
    • INFO
    • INCR
    • INCRBY
    • INCRBYFLOAT
    • LINDEX
    • LPOP
    • LPUSH
    • LRANGE
    • LTRIM
    • MULTI
    • PERSIST
    • PEXPIRE
    • PEXPIREAT
    • PSUBSCRIBE
    • PTTL
    • PUNSUBSCRIBE
    • PUBLISH
    • RPOP
    • RPOPLPUSH
    • RPUSH
    • SADD
    • SAVE
    • SCARD
    • SCRIPT FLUSH
    • SCRIPT KILL
    • SCRIPT LOAD
    • SDIFF
    • SDIFFSTORE
    • SELECT
    • SET
    • SETBIT
    • SETNX
    • SETRANGE
    • SHUTDOWN
    • SINTER
    • SINTERSTORE
    • SISMEMBER
    • SLAVEOF
    • SMEMBERS
    • SMOVE
    • SORT
    • SPOP
    • SRANDMEMBER
    • SREM
    • SUNION
    • SUNIONSTORE
    • SUBSCRIBE
    • TTL
    • UNSUBSCRIBE
    • UNWATCH
    • WATCH
    • ZADD
    • ZCARD
    • ZCOUNT
    • ZINCRBY
    • ZINTERSTORE
    • ZRANGE
    • ZRANK
    • ZRANGEBYSCORE
    • ZREM
    • ZREMRANGEBYRANK
    • ZREMRANGEBYSCORE
    • ZREVRANGE
    • ZREVRANGEBYSCORE
    • ZREVRANK
    • ZSCORE
    • ZUNIONSTORE

说明:本文中,小写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。

官方文档参看:https://redis.io/commands

分类

字符串

即字节序列。也可视作整数、浮点数。

  • APPEND
  • BITCOUNT
  • BITOP
  • DECR
  • DECRBY
  • GET
  • GETBIT
  • GETRANGE
  • INCR
  • INCRBY
  • INCRBYFLOAT
  • SET
  • SETBIT
  • SETNX
  • SETRANGE

列表

元素为字符串。左侧为开头,右侧为结尾。

  • BLPOP
  • BRPOP
  • BRPOPLPUSH
  • LINDEX
  • LPOP
  • LPUSH
  • LRANGE
  • LTRIM
  • RPOP
  • RPOPLPUSH
  • RPUSH

无序集

元素为字符串。

  • SADD
  • SCARD
  • SDIFF
  • SDIFFSTORE
  • SINTER
  • SINTERSTORE
  • SMEMBERS
  • SMOVE
  • SISMENBER
  • SPOP
  • SRANDMEMBER
  • SREM
  • SUNION
  • SUNIONSTORE

有序集

字符串与浮点数分值映射。

  • ZADD
  • ZCARD
  • ZCOUNT
  • ZINCRBY
  • ZINTERSTORE
  • ZRANGE
  • ZRANK
  • ZRANGEBYSCORE
  • ZREM
  • ZREMRANGEBYRANK
  • ZREMRANGEBYSCORE
  • ZREVRANGE
  • ZREVRANGEBYSCORE
  • ZREVRANK
  • ZSCORE
  • ZUNIONSTORE

无序散列

键值均为字符串,值也可视作整数、浮点数。

  • HDEL
  • HEXISTS
  • HGET
  • HGETALL
  • HINCRBY
  • HINCRBYFLOAT
  • HKEYS
  • HLEN
  • HMGET
  • HMSET
  • HSET
  • HVALS

删除

  • DEL

排序

  • SORT

过期

  • EXPIRE
  • EXPIREAT
  • PERSIST
  • PEXPIRE
  • PEXPIREAT
  • PTTL
  • TTL

事务

命令的执行顺序为:WATCHUNWATCH(不再继续执行后面的命令)、MULTIDISCARD(不再继续执行后面的命令)、EXEC

  • DISCARD
  • EXEC
  • MULTI
  • UNWATCH
  • WATCH

发布/订阅

消息为字符串。

  • PSUBSCRIBE
  • PUNSUBSCRIBE
  • PUBLISH
  • SUBSCRIBE
  • UNSUBSCRIBE

持久化

  • BGREWRITEAOF
  • BGSAVE
  • SAVE

复制

  • SLAVEOF

管理

  • DEBUG OBJECT
  • INFO
  • SELECT
  • SHUTDOWN

脚本

  • EVAL
  • EVALSHA
  • SCRIPT FLUSH
  • SCRIPT KILL
  • SCRIPT LOAD

命令

APPEND

字符串追加内容,如键不存在则创建。

APPEND str value

返回追加后的字节长度:

(integer) 5

BGREWRITEAOF

重写AOF文件。子进程负责将AOF文件写入磁盘,父进程继续处理命令请求。

BGREWRITEAOF

返回:

Background append only file rewriting started

BGSAVE

后台创建快照文件。子进程负责将快照文件写入磁盘,父进程继续处理命令请求。

BGSAVE

返回:

Background saving started

BITCOUNT

统计二进制位中为1的数量。可指定字节区间[start, end]。

BITCOUNT str [start, end]

返回二进制位为1的数量:

(integer) 4

BITOP

执行位运算后将结果存储于deststr。

BITOP AND|OR|XOR deststr str [...]BITOP NOT deststr str

返回结果字符串deststr的字节长度:

(integer) 1

BLPOP

阻塞地从第一个非空列表弹出最左侧元素。

BLPOP list [...] timeoutseconds

如无阻塞弹出,则返回弹出的列表、元素:

1) "list"
2) "element"

如有阻塞弹出,则返回弹出的列表、元素和阻塞时间:

1) "list"
2) "element"
(1.01s)

如阻塞超时未弹出,则返回nil和阻塞时间:

(nil)
(3.01s)

BRPOP

阻塞地从第一个非空列表弹出最右侧元素。

BRPOP list [...] timeoutseconds

如无阻塞,则返回弹出的列表、元素:

1) "list"
2) "element"

如有阻塞,则返回弹出的列表、元素和阻塞时间:

1) "list"
2) "element"
(1.01s)

如阻塞超时,则返回nil和阻塞时间:

(nil)
(3.01s)

BRPOPLPUSH

阻塞地从srclist弹出最右侧元素,并把元素推入destlist最左侧。如destlist不存在则创建。

BRPOPLPUSH srclist destlist timeoutseconds

如无阻塞,则返回该元素:

"element"

如有阻塞,则返回该元素和阻塞时间:

"element"
(1.01s)

如阻塞超时,则返回nil和阻塞时间:

(nil)
(3.01s)

DEBUG OBJECT

返回对象的调试信息。

DEBUG OBJECT key

返回调试信息:

Value at:0x7f4500a77c80 refcount:1 encoding:ziplist serializedlength:17 lru:11272693 lru_seconds_idle:6559102

如键不存在返回:

(error) ERR no such key

DECR

自减1,只可用于视为整数的字符串类型。如键不存在,则先以0值创建。

DECR str

返回自减后的值:

"-1"

DECRBY

减少指定整数值,只可用于视为整数的字符串类型。如键不存在,则先以0值创建。

DECRBY str increment

返回减少后的值:

"-1"

DEL

删除键,可用于所有类型。

DEL key [...]

返回删除的键数量,如键不存在则不计入个数:

(integer) 1

DISCARD

取消所有对键进行的监视并清空使用MULTI入队的命令。在MULTI之后EXEC之前执行。

DISCARD

返回:

OK

EVAL

执行Lua脚本代码。

EVAL lua_code key_amount [key [...]] [arg [...]]

key为lua_code中使用到的键,在Lua脚本中依次以KEYS[1]等形式使用。arg为lua_code中使用到的附加参数,在Lua脚本中依次以ARGV[1]等形式使用。

返回Lua脚本的返回值,如有表格(table)则嵌套返回:

1) "lua"
2) 1) (integer) 1
   2) (integer) 2

或当失败返回错误:

(error) ERR wrong number of arguments for 'eval' command

EVALSHA

执行已加载的Lua脚本代码。

EVALSHA sha1 key_amount [key [...]] [arg [...]]

key为lua_code中使用到的键,在Lua脚本中依次以KEYS[1]等形式使用。arg为lua_code中使用到的附加参数,在Lua脚本中依次以ARGV[1]等形式使用。

返回Lua脚本的返回值,如有表格(table)则嵌套返回:

1) "lua"
2) 1) (integer) 1
   2) (integer) 2

或当失败返回错误:

(error) ERR wrong number of arguments for 'evalsha' command

EXEC

执行事务。

EXEC

执行MULTIEXEC的所有命令,嵌套返回各命令的执行结果:

1) "value"
2) 1) "element0"
   2) "element1"

执行失败返回:

(nil)

EXPIRE

设置键于若干秒后过期。

EXPIRE key seconds

键存在返回1,不存在返回0:

(integer) 1

EXPIREAT

设置键于秒级Unix时间戳过期:

EXPIREAT key unix_timestamp_second

键存在返回1,不存在返回0:

(integer) 1

GET

获取字符串。

GET str

返回字符串:

"value"

或无此键时返回:

(nil)

GETBIT

获取第offset的二进制位。字节的高位在前,第一位为0,不可使用负数。

GETBIT str offset

只会返回0或1,如位不存在则返回0:

(integer) 1

GETRANGE

获取字节区间[start, end]内的子串。第一个字节下标为0,可使用负数,最后一个字节下标为-1。

GETRANGE str start end

返回子串:

"val"

或如不存在返回:

""

HDEL

删除散列的键。

HDEL hash field [...]

返回实际删除的键个数,如键不存在则不计入个数:

(integer) 1

HEXISTS

检查键是否存在。

HEXISTS hash field

存在返回1,不存在返回0:

(integer) 1

HGET

获取单个键对应的值。

HGET hash field

返回键对应的值:

"value"

或当无此键时返回:

(nil)

HGETALL

返回所有键值对。

HGETALL hash

键值间隔依次返回:

1) "field1"
2) "value1"
3) "field2"
4) "value2"

或散列为空时返回:

(empty array)

HINCRBY

增加键的值,只可用于视为整数的字符串类型。如散列键不存在则创建,如键不存在则先以0值创建。

HINCRBY hash field increment

返回增加后的值:

(integer) 1

HINCRBYFLOAT

增加键的浮点数值,只可用于视为整数或浮点数的字符串类型。如散列键不存在则创建,如键不存在则先以0值创建。

HINCRBYFLOAT hash field increment

返回增加后的值:

"0.1"

HKEYS

返回所有键。

HKEYS hash

返回键的列表:

1) "field1"
2) "field2"

或散列为空时返回:

(empty array)

HLEN

返回键值对数量。

HLEN hash

返回数量:

(integer) 1

HMGET

获取多个键对应的值。

HMGET hash field [...]

依次返回键对应的值,如键不存在则值为nil:

1) "value1"
2) (nil)

HMSET

设置散列的键值对,如散列不存在则创建。

HMSET hash field value [field value ...]

返回实际添加的键个数,如键已存在则不计入个数:

(integer) 1

HSET

设置散列的键值对,如散列不存在则创建。

HSET hash field value [field value ...]

返回实际添加的键个数,如键已存在则不计入个数:

(integer) 1

HVALS

返回所有值。值可能重复。

HVALS hash

返回值的列表:

1) "value1"
2) "value2"

或散列为空时返回:

(empty array)

INFO

查看服务器状态信息。

INFO section

返回的信息包括几个小节,每个小节由一行以"#"开头的小节名开头及一行空行结尾,小节中每条信息一行并以":"分隔名字和值:

# Modules

# Cluster
cluster_enabled:0

各名字的含义如下:

  • aof_pending_bio_fsync:AOF等待同步到磁盘的命令数。

INCR

自增1,只可用于视为整数的字符串类型。如键不存在,则先以0值创建。

INCR str

返回自增后的值:

(integer) 1

INCRBY

增加整数值,只可用于视为整数的字符串类型。如键不存在,则先以0值创建。

INCRBY str increment

返回增加后的值:

(integer) 1

INCRBYFLOAT

增加浮点数值,只可用于视为整数或浮点数的字符串类型。如键不存在,则先以0值创建。

INCRBYFLOAT str increment

返回增加后的值:

"0.1"

LINDEX

返回左侧指定下标的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

LINDEX list n

返回该下标处的元素:

"element"

或无此元素时返回:

(nil)

LPOP

弹出最左侧元素。

LPOP list

返回弹出的元素:

"element"

或列表为空时返回:

(nil)

LPUSH

将元素依次推入列表最左侧,如列表不存在则创建。参数中最后的元素位于列表最左侧。

LPUSH list element [...]

返回列表的长度:

(integer) 1

LRANGE

从左侧起查找区间[start, end]内的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

LRANGE list start end

返回元素列表:

1) "element0"
2) "element1"

或列表为空时返回:

(empty array)

LTRIM

从左侧起裁剪列表,只保留区间[start, end]内的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

LTRIM list start end

成功返回:

OK

MULTI

开始事务。

MULTI

返回:

OK

MULTIEXEC的所有命令会入队并在EXEC后一起执行,期间所有命令均返回:

QUEUED

PERSIST

将键设为永久,会移除过期时间。

PERSIST key

键原有过期时间返回1,原是永久返回0:

(integer) 1

PEXPIRE

设置键于若干毫秒后过期。

PEXPIRE key millseconds

键存在返回1,不存在返回0:

(integer) 1

PEXPIREAT

设置键于毫秒级Unix时间戳过期:

PEXPIREAT key unix_timestamp_millsecond

键存在返回1,不存在返回0:

(integer) 1

PSUBSCRIBE

订阅匹配glob模式的频道。

PSUBSCRIBE glob [...]

依次返回各频道的事件名(psubscribe)、glob模式、当前订阅的频道数量:

1) "psubscribe"
2) "glob1"
3) (integer) 1
1) "psubscribe"
2) "glob2"
3) (integer) 2

此后,当前连接被阻塞直至断开。期间依次输出消息的事件名(pmessage)、glob模式、频道名、消息值:

1) "pmessage"
2) "glob1"
3) "channel"
4) "msg"

PTTL

查看键距离过期的毫秒数。

PTTL key

返回毫秒数,永久返回-1,不存在返回-2:

(integer) 1

PUNSUBSCRIBE

在redis-cli,因订阅后连接被阻塞,不能使用此命令。

退订匹配glob模式的频道。如不指定glob则退订所有频道。

PUNSUBSCRIBE [glob [...]]

依次返回各glob模式的事件名(punsubscribe)、glob模式、当前订阅的频道数量。如当前订阅的频道数量已为0,则不继续返回后续事件,但事件仍存在连接的队列中:

1) "punsubscribe"
2) "glob1"
3) (integer) 1
1) "punsubscribe"
2) "glob2"
3) (integer) 0

当不指定channel且没有订阅频道时返回:

1) "punsubscribe"
2) (nil)
3) (integer) 0

PUBLISH

向频道发送消息。

PUBLISH channel msg

返回接收到消息的连接数:

(integer) 1

RPOP

弹出最右侧元素。

RPOP list

返回弹出的元素:

"element"

或列表为空时返回:

(nil)

RPOPLPUSH

从srclist弹出最右侧元素,并把元素推入destlist最左侧。如destlist不存在则创建。

RPOPLPUSH srclist destlist

返回该元素:

"element"

或当srclist为空时返回:

(nil)

RPUSH

将元素依次推入列表右侧,如列表不存在则创建。参数中最后的元素位于列表最右侧。

RPUSH list element [...]

返回列表的长度:

(integer) 1

SADD

添加元素至集合中,如集合不存在则创建。

SADD set element [...]

返回实际添加的元素个数,如元素已存在则不计入个数:

(integer) 1

SAVE

前台创建快照文件。快照文件创建完毕之前都不再响应任何其他命令。

SAVE

返回:

OK

SCARD

返回集合的元素数量。

SCARD set

返回元素数量:

(integer) 1

SCRIPT FLUSH

清除所有已加载的Lua脚本代码。

SCRIPT FLUSH

返回:

OK

SCRIPT KILL

杀死正在执行的Lua脚本。

SCRIPT KILL

返回:

OK

如没有正在执行的Lua脚本则返回:

(error) NOTBUSY No scripts in execution right now.

SCRIPT LOAD

加载但不执行Lua脚本代码:

SCRIPT LOAD lua_code

返回脚本代码的SHA1校验和:

"e0e1f9fabfc9d4800c877a703b823ac0578ff8db"

或当失败返回错误:

(error) ERR Unknown subcommand or wrong number of arguments for 'load'. Try SCRIPT HELP.

SDIFF

差集运算。

SDIFF set excludeset [...]

返回结果集合的元素:

1) "element0"
2) "element1"

或当结果集合为空时返回:

(empty array)

SDIFFSTORE

差集运算,并将结果存储至destset。如destset不存在则创建,如已存在则清空。

SDIFFSTORE destset set excludeset [...]

返回结果集合的元素个数:

(integer) 2

SELECT

选择切换至第n号库。最大为15,默认为0。如非0,命令行提示符带有"[n]"字样。

SELECT n

返回:

OK

SET

设置字符串。

SET str value

成功返回:

OK

SETBIT

设置第offset的二进制位,只能设置为0或1,如键不存在则创建。字节的高位在前,第一位为0,不可使用负数。如字符串长度不足,则使用0值字节填充。

SETBIT str offset bit

返回二进制位原来的值:

(integer) 1

SETNX

只当键不存在时设置字符串。

SETNX str value

成功设置返回1,未成功设置返回0:

(integer) 1

SETRANGE

设置从offset(含)字节起的内容,如键不存在则创建。第一个字节下标为0,不可使用负数。如字符串长度不足,则使用0值字节填充。

SETRANGE str offset value

返回设置后的字符串字节长度:

(integer) 5

SHUTDOWN

停止服务。

SHUTDOWN [NOSAVE|SAVE]

无返回,连接断开。

SINTER

交集运算。

SINTER set [...]

返回结果集合的元素:

1) "element0"
2) "element1"

或当结果集合为空时返回:

(empty array)

SINTERSTORE

交集运算,并将结果存储至destset。如destset不存在则创建,如已存在则清空。

SINTERSTORE destset set [...]

返回结果集合的元素个数:

(integer) 2

SISMEMBER

检查是否包含元素。

SISMEMBER set element

包含返回1,不包含返回0:

(integer) 1

SLAVEOF

作为从服务器,指定主服务器,并丢弃已有数据,复制数据:

SLAVEOF host port

停止复制,使用已有数据,由从服务器切换为主服务器:

SLAVEOF NO ONE

返回:

OK

SMEMBERS

返回集合的所有元素。

SMEMBERS set

返回所有元素:

1) "element0"
2) "element1"

或集合为空时返回:

(empty array)

SMOVE

如元素在srcset中,则将其删除并移入destset。如destset不存在则创建。

SMOVE srcset destset element

如移动则返回1,如未移动则返回0:

(integer) 1

SORT

排序。可对列表、集合、有序集(忽略分值)进行排序。

SORT key [BY by_pattern] [LIMIT offset count] [GET get_pattern [GET get_pattern ...]] [ASC|DESC] [ALPHA] [STORE destlist]

BY指定使用外部键进行排序。以key中的元素替换by_pattern中的号,以此作为键查找字符串,再使用此字符串作为排序的依据(如:user)。或以key中的元素替换by_pattern中的号,以此作为键查找无序散列,再使用->取无序散列中键的值作为排序的依据(如:user->name)。如by_pattern不存在,则跳过排序。

LIMIT限制返回的结果跳过的数量和返回的总数量。

GET指定外部键作为返回结果。以key中的元素替换get_pattern中的号,以此作为键查找字符串,再使用此字符串作为返回结果(如:user)。或以key中的元素替换by_pattern中的号,以此作为键查找无序散列,再使用->取无序散列中键的值作为返回结果(如:user->name)。get_pattern为#表示key中的元素。

ASC为升序,DESC为降序,默认为升序。

ALPHA为作为字符串排序,默认为作为数值排序。

STORE将结果保存至列表中,如destlist不存在则创建,如已存在则清空。

返回排序后的元素:

"1"
"2"

或如返回多个外部键:

"1"
"a"
"2"
"b"

或无元素时返回:

(empty array)

如使用了STORE则返回排序后的元素数量:

(integer) 1

SPOP

随机弹出元素。

SPOP set [count]

返回弹出的元素列表:

"element0"
"element1"

或无元素弹出时返回:

(empty array)

SRANDMEMBER

随机返回元素。当count为正数时,元素不会重复,因此个数可能不足;当count为负数时,元素可能重复。

SRANDMEMBER set [count]

返回元素列表:

"element0"
"element1"

或count为0时返回:

(empty array)

SREM

删除集合中的元素。

SREM set element [...]

返回实际删除的元素个数,如元素不存在则不计入个数:

(integer) 1

SUNION

并集运算。

SUNION set [...]

返回结果集合的元素:

1) "element0"
2) "element1"

或当结果集合为空时返回:

(empty array)

SUNIONSTORE

并集运算,并将结果存储至destset。如destset不存在则创建,如已存在则清空。

SUNIONSTORE destset set [...]

返回结果集合的元素个数:

(integer) 2

SUBSCRIBE

订阅频道。

SUBSCRIBE channel [...]

依次返回各频道的事件名(subscribe)、频道名、当前订阅的频道数量:

1) "subscribe"
2) "channel1"
3) (integer) 1
1) "subscribe"
2) "channel2"
3) (integer) 2

此后,当前连接被阻塞直至断开。期间依次输出消息的事件名(message)、频道名、消息值:

1) "message"
2) "channel1"
3) "msg"

TTL

查看键距离过期的秒数。

TTL key

返回秒数,永久返回-1,不存在返回-2:

(integer) 1

UNSUBSCRIBE

在redis-cli,因订阅后连接被阻塞,不能使用此命令。

退订频道。如不指定channel则退订所有频道。

UNSUBSCRIBE [channel [...]]

依次返回各频道的事件名(unsubscribe)、频道名、当前订阅的频道数量。如当前订阅的频道数量已为0,则不继续返回后续事件,但事件仍存在连接的队列中:

1) "unsubscribe"
2) "channel1"
3) (integer) 1
1) "unsubscribe"
2) "channel2"
3) (integer) 0

当不指定channel且没有订阅频道时返回:

1) "unsubscribe"
2) (nil)
3) (integer) 0

UNWATCH

取消所有对键进行的监视。在WATCH之后MULTI之前执行。

UNWATCH

返回:

OK

WATCH

对键进行监视。执行WATCHEXEC这段时间内,如其他连接对键进行修改,EXEC会执行失败。

WATCH key [...]

返回:

OK

ZADD

添加元素及分值至有序集合中,如有序集合不存在则创建。

ZADD zset score element [score element ...]

返回实际添加的元素个数,如元素已存在且分值相同则不计入个数:

(integer) 1

ZCARD

返回有序集合的元素数量。

ZCARD zset

返回元素数量:

(integer) 1

ZCOUNT

返回有序集合分值在区间[min, max]的元素数量。

ZCOUNT zset min max

返回元素数量:

(integer) 1

ZINCRBY

增加元素的分值。如元素不存在,则先以0分值添加。

ZINCRBY zset increment element

返回增加后的分值:

"0.1"

ZINTERSTORE

类似交集运算,并将结果存储至destzset。如destset不存在则创建,如已存在则清空。

ZINTERSTORE destzset nzset zset [...] [WEIGHTS weight [...]] [AGGREGATE SUM|MIN|MAX]

zset参数可使用集合,被当作分值为1的有序集合。AGGREGATE默认为SUM。

返回结果有序集合的元素个数:

(integer) 2

ZRANGE

分值从小到大查找排名在区间[start, end]内的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

ZRANGE zset start end [WITHSCORES]

返回元素列表:

1) "element0"
2) "element1"

如指定WITHSCORES则同时返回分值:

1) "element0"
2) "1"
3) "element1"
4) "2"

或列表为空时返回:

(empty array)

ZRANK

查找元素在有序集合中从小到大的排名。第一为0。

ZRANK zset element

返回元素的排名:

(integer) 0

或当元素不存在时返回:

(nil)

ZRANGEBYSCORE

分值从小到大查找分值在区间[min, max]的元素。

ZRANGEBYSCORE zset min max [WITHSCORES] [LIMIT offset count]

返回元素列表:

1) "element0"
2) "element1"

如指定WITHSCORES则同时返回分值:

1) "element0"
2) "1"
3) "element1"
4) "2"

或列表为空时返回:

(empty array)

ZREM

删除有序集合中的元素。

ZREM zset elment [...]

返回实际删除的元素个数,如元素不存在则不计入个数:

(integer) 1

ZREMRANGEBYRANK

删除有序集合中分值从小到大排名在区间[start, end]内的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

ZREMRANGEBYRANK zset start end

返回被删除的元素个数:

(integer) 1

ZREMRANGEBYSCORE

删除有序集合中分值在区间[min, max]内的元素。

ZREMRANGEBYSCORE zset min max

返回被删除的元素个数:

(integer) 1

ZREVRANGE

分值从大到小查找排名在区间[start, end]内的元素。第一个元素下标为0,可使用负数,最后一个元素下标为-1。

ZREVRANGE zset start end [WITHSCORES]

返回元素列表:

1) "element0"
2) "element1"

如指定WITHSCORES则同时返回分值:

1) "element0"
2) "2"
3) "element1"
4) "1"

或列表为空时返回:

(empty array)

ZREVRANGEBYSCORE

分值从大到小查找分值在区间[min, max]的元素。

ZRANGEBYSCORE zset max min [WITHSCORES] [LIMIT offset count]

返回元素列表:

1) "element0"
2) "element1"

如指定WITHSCORES则同时返回分值:

1) "element0"
2) "2"
3) "element1"
4) "1"

或列表为空时返回:

(empty array)

ZREVRANK

查找元素在有序集合中从大到小的排名。第一为0。

ZREVRANK zset element

返回元素的排名:

(integer) 0

或当元素不存在时返回:

(nil)

ZSCORE

返回元素的分值。

ZSCORE zset element

返回分值:

"1"

或当元素不存在时返回:

(nil)

ZUNIONSTORE

类似并集运算,并将结果存储至destzset。如destset不存在则创建,如已存在则清空。

ZUNIONSTORE destzset nzset zset [...] [WEIGHTS weight [...]] [AGGREGATE SUM|MIN|MAX]

zset参数可使用集合,被当作分值为1的有序集合。AGGREGATE默认为SUM。

返回结果有序集合的元素个数:

(integer) 2









原文转载:http://www.shaoqun.com/a/521219.html

跨境电商:https://www.ikjzd.com/

tiki:https://www.ikjzd.com/w/2053

巴士物流:https://www.ikjzd.com/w/2329


本文更新于2021-01-31,使用Redis6.0.8,操作系统为Deepin15.11。目录分类字符串列表无序集有序集无序散列删除排序过期事务发布/订阅持久化复制管理脚本命令APPENDBGREWRITEAOFBGSAVEBITCOUNTBITOPBLPOPBRPOPBRPOPLPUSHDEBUGOBJECTDECRDECRBYDELDISCARDEVALEVALSHAEXECEXPIREEX
跨境通:跨境通
谷歌趋势:谷歌趋势
亚马逊旺季怎么做广告,这10条广告策略可帮到你:亚马逊旺季怎么做广告,这10条广告策略可帮到你
速卖通怎么选品?速卖通选品策略如何制定?:速卖通怎么选品?速卖通选品策略如何制定?
ebay目录大全:ebay目录大全

No comments:

Post a Comment