如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。
如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。
为键 key 储存的数字值减去一。
键值
将键 key 储存的整数值减去减量 decrement 。
键值
必须是正整数
删除给定的一个或多个 key
Rest
...keys: string[]待删除的键值列表
检查给定 key 是否存在。
存在返回 true, 失败返回 false
键值
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。
设置成功返回 1 。 当 key 不存在或者不能为 key 设置生存时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的生存时间),返回 0 。
键值
生存时间(秒)
返回与键 key 相关联的字符串值。
键值
将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。
返回给定键 key 的旧值。
如果键 key 没有旧值, 也即是说, 键 key 在被设置之前并不存在, 那么命令返回 nil 。
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略
哈希表
Rest
...fields: string[]域列表
检查给定域 field 是否存在于哈希表 hash 当中
哈希表
域
返回哈希表中给定域的值。
哈希表
域
返回哈希表 key 中,所有的域和值。
哈希表
键值对
为哈希表 key 中的域 field 的值加上增量 increment
哈希表, 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令
域,如果域 field 不存在,那么在执行命令前,域的值被初始化为 0。 如果存在且值是字符串的, 则抛异常
增量,可为负数,本操作的值被限制在 64 位(bit)有符号数字表示之内
返回哈希表 key 中的所有域。
哈希表
返回哈希表 key 中域的数量。
哈希表
返回哈希表 key 中,一个或多个给定域的值。
哈希表
Rest
...fields: string[]域列表
同时将多个 field-value (域-值)对设置到哈希表 key 中。 此命令会覆盖哈希表中已存在的域。
哈希表,如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作
必须是<string, string>键值对
将哈希表 hash 中域 field 的值设置为 value
哈希表
域
字段值, 如果值为null或者undefined,设置成空字符串
当且仅当域 field 尚未存在于哈希表的情况下, 将它的值设置为 value
哈希表
域
字段值
返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)
哈希表
域
返回哈希表 key 中所有域的值。
哈希表
为键 key 储存的数字值加上 1
键值
为键 key 储存的数字值加上增量 increment
键值
必须是正整数
返回列表 key ��,下标为 index 的元素。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
如果 key 不是列表类型,返回一个错误。
返回列表中下标为 index 的元素。 如果 index 参数的值不在列表的区间范围内(out of range),返回 nil
将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
当 pivot 不存在于列表 key 时,不执行任何操作。
当 key 不存在时, key 被视为空列表,不执行任何操作。
如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到 pivot ,返回 -1 。 如果 key 不存在或为空列表,返回 0
返回列��� key 的长度。
如果 key 不存在,则 key 被解释为一个空列表,返回 0 .
如果 key 不���列�����类型,返回一个错���。
移除并返回列表 key 的头元素。
列表的头元素。 当 key 不存在时,返回 nil 。
键
将一个或多个值 value 插入到列表 key 的表头
如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作
返回执行 LPUSH 命令后,列表的长度。
键
Rest
...values: string[]值列表
将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。
和 lpush 命令相反,当 key 不存在时, LPUSHX 命令什么也不做
返回 LPUSHX 命令执行之后,表的长度。
键
值
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
返回一个列表,包含指定区间内的元素。
根据参数 count 的值,移除列表中与参数 value 相等的元素 count 的值可以是以下几种:
count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。
返回被移除元素的数量。 因为不存在的 key 被视作空表(empty list),所以当 key 不存在时, LREM 命令总是返回 0 。
将列表 key 下标为 index 的元素的值设置为 value 。
当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。
操作成功返回 ok ,否则返回错误信息。
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
命令执行成功时,返回 ok
移除并返回列表 key 的尾元素。
返回列表的尾元素。 当 key 不存在时,返回 nil 。
键
命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
如果 source 不存在,值 nil 被返回,并且不执行其他动作。
如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转(rotation)操作。
注意, 如果redis是集群模式的,source 与 destination 必须是同一个分片下的。 可以通过添加花括号的方式, 如{key}1 {key}2 模式来的保证。
返回被弹出的元素
将一个或多个值 value 插入到列表 key 的表尾(最右边)。
如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。
返回执行 RPUSH 操作后,表的长度。
键
Rest
...values: string[]值列表
将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。
和 rpush命令����反,当 key 不存在时, RPUSHX 命令什么也不做。
返回 RPUSHX 命令执行之后,表����度
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
假如 key 不存在,则创建一个只包含 member 元素作成员的集合。
当 key 不是集合类型时,返回一个错误。
返回被添加到集合中的新元素的数量,不包括被忽略的元素。
Rest
...members: string[]返回集合 key 的基数(集合中元素的数量)。
返回一个集合的全部成员,该集合是所有给定集合之间的差集。
Rest
...keys: string[]Rest
...keys: string[]将字符串值 value 关联到 key
只在设置操作成功完成时才返回 OK ; 如果命令使用了 NX 或者 XX 选项, 但是因为条件没达到而造成设置操作未执行, 那么命令将返回 null
返回一个集合的全部成员,该集合是所有给定集合的交集
Rest
...keys: string[]Rest
...keys: string[]判断 member 元素是否集合 key 的成员。
如果 member 元素是集合的成员,返回 1 。 如果 member 元素不是集合的成员,或 key 不存在,返回 0 。
返回集合 key 中的所有成员。
将 member 元素从 source 集合移动到 destination 集合, SMOVE 是一个原子操作。
如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。 否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。
如果 member 元素被成功移除,返回 1 。 如果 member 元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回 0 。
注意如果是 redis 集群的话, source 与 destination 必须在同一个分片上。
移除并返回集合中的一个随机元素。
如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。
count 参数:
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。
如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
如果集合为空,返回空数组。
移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
返回被成功移除的元素的数量,不包括被忽略的元素。
Rest
...members: string[]返回键 key 储存的字符串值的长度。
返回一个集合的全部成员,该集合是所有给定集合的并集。
Rest
...keys: string[]Rest
...keys: string[]以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
功能同 zadd
Rest
...pairs: SortedSetPair[]返回有序集 key 的基数
键值
返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量.
键值
最小值
最大值
为有序集 key 的成员 member 的 score 值加上增量 increment
member 成员的新 score 值,以字符串形式表示
键值
增量, 可以是负数值
成员
返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。 具有相同 score 值的成员按字典序(lexicographical order )来排列。
下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
键值
起始位置
结束位置
Optional
opt: SortedSetRangeOptionrange 命令可选参数, 见 SortedSetRangeOption
返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 有序集成员按 score 值递增(从小到大)次序排列
min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。
默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。
键值
最小值
最大值
Optional
option: RangeByScoreOption可选参数,参考RangeByScoreOption
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。
如果 member 是有序集 key 的成员,返回 member 的排名。 如果 member 不是有序集 key 的成员,返回 nil
键值
成员
移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
返回被成功移除的成员的数量,不包括被忽略的成员。
键值
Rest
...members: string[]成员列表
移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
返回被移除成员的数量
键值
最小值
最大值
返回有序集 key 中,指定区间内的成员 其中成员的位置按 score 值递减(从大到小)来排列。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。
键值
其实位置
结束位置
Optional
opt: SortedSetRangeOptionrange 命令可选参数, 见 SortedSetRangeOption
返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。 有序集成员按 score 值递减(从大到小)的次序排列。
键值
最大值
最小值
Optional
option: RangeByScoreOption可选参数,参考RangeByScoreOption
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。 排名以 0 为底,也就是说, score 值最大的成员排名为 0 。
如果 member 是有序集 key 的成员,返回 member 的排名。 如果 member 不是有序集 key 的成员,返回 nil
键值
成员
返回有序集 key 中,成员 member 的 score 值。 如果 member 元素不是有序集 key 的成员,或 key 不存在,则报错
键值
成员
移除有序集 key 中,指定排名(rank)区间内的所有成员。 区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
返回被移除成员的数量
键值
起始位置
结束位置
Redis Pipeline 客户端
一次性执行多个 redis 命令, 有如下特性:
Since
24.7.0
Example
由于脚本引擎的特性,会将实参类型隐式转换成兼容的入参类型,因此引擎在执行过程中可以接受非严格匹配的类型,
如 string 类型的入参可以接受 number 类型的实参, 但该行为是不可靠的,请按照方法签名指定的类型来传参。