概述
基础知识
- 官网(https://redis.io)
- 端口:6379
- 数据库:0~15
- 基础命令
1 | 切换数据库 |
基础5种类型
String(字符串)
SET(设置值)
格式: SET key value [NX | XX] [GET] [EX | PX | EXAT | PXAT | KEEPTTL]
版本:1.0.0
其它选项:
EX
seconds – 设置指定的到期时间,以秒为单位(正整数)。PX
milliseconds – 设置指定的过期时间,以毫秒为单位(正整数)。EXAT
timestamp-seconds – 设置密钥过期的指定 Unix 时间,以秒为单位(正整数)。PXAT
timestamp-milliseconds – 设置密钥过期的指定 Unix 时间,以毫秒为单位(正整数)。NX
– 仅设置尚不存在的密钥。XX
– 仅设置已存在的密钥。KEEPTTL
– 保留与密钥关联的生存时间。GET
– 返回存储在 key 中的旧字符串,如果 key 不存在,则返回 nil。如果存储在 key 的值不是字符串,则返回并中止错误。
1 | 设置值,有key存在则覆盖,且清除过期时间 |
MSET(设置多个值)
格式:MSET key value [key value ...]
版本:1.0.1
描述:设置多个键值对,该操作是原子性的。原子性:表示任何一个设置失败,其他都失败
1 | MSET key1 10086 key2 10010 |
SETEX(按秒过期)
格式:SETEX key seconds value
版本:2.0.0
描述:以秒为单位设置key过期时间。从 Redis 版本 2.6.12 开始,此命令被视为已弃用。可以将其替换为带有EX
参数数的 SET
。
1 | SETEX name 10 longlong |
PSETEX(按毫秒过期)
格式:PSETEX key milliseconds value
版本:2.6.0
描述:以毫秒为单位指定key过期时间。从 Redis 版本 2.6.12 开始,此命令被视为已弃用。可以将其替换为带有PX
参数数的 SET
。
1 | PSETEX name 10000 zhangsan |
MSETNX(设置多个值且不存在)
格式:MSETNX key value [key value ...]
版本:1.0.1
描述:设置多个键值对,且任何key都必须不存在,该操作是原子性的。
1 | MSET key1 10086 key2 10010 |
SETNX(不存在则添加)
版本:1.0.0
格式:SETNX key value
描述:如果不存在则设置。从 Redis 版本 2.6.12 开始,此命令被视为已弃用。可以将其替换为带有NX
参数的 SET
。Redis分布式锁的原理就是这个命令。
1 | SET name zhangsan |
GET(获取值)
格式:GET key
版本:1.0.0
描述:获取key的值,如果key不存在,则返回特殊值。如果存储的值不是字符串,则返回错误,因为仅处理字符串值。
1 | GET name |
GETSET(获取并设置值)
格式:GETSET key value
描述:获取key的旧值并设置一个新的值,从 Redis 版本 6.2.0 开始,此命令被视为已弃用,可以用SET key GET
替换。
1 | GETSET name lisi |
MGET(获取多个值)
格式:MGET key [key ...]
版本:1.0.0
描述:返回所有指定键的值,对于不包含字符串值或不存在的键,返回特殊值"null"
。因此,操作永远不会失败。
1 | MSET key1 10086 key2 10010 |
GETDEL(获取并删除)
格式:GETDEL key
版本:6.2.0
描述:获取key的值并删除密钥(当且仅当密钥的值类型为字符串时),不存在则返回特殊类型nil
。
1 | SET name QQ |
GETEX(获取并设置有效期)
格式:GETEX key [EX | PX | EXAT | PXAT | PERSIST]
版本:6.2.0
描述:获取key的值并选择性地设置其过期时间
选项:
EX
seconds – 设置指定的到期时间(以秒为单位)。PX
milliseconds – 设置指定的过期时间(以毫秒为单位)。EXAT
timestamp-seconds – 设置密钥过期的指定 Unix 时间,以秒为单位。PXAT
timestamp-milliseconds – 设置密钥过期的指定 Unix 时间,以毫秒为单位。PERSIST
– 删除key的过期时间,即:设置key永不过期。
1 | GET name |
GETRANGE(截取)
格式:GETRANGE key start end
版本:2.4.0
描述:获取子字符串,正序从0开始,倒序从-1开始,-1表示倒数第一个,-2是倒数第二个,以此类推。如果取字符串的后5个字符,应该是GETRANGE key -5 -1
。
1 | GET name |
SUBSTR(子字符串)
格式:SUBSTR key start end
版本:1.0.0
描述:获取子字符串。从 Redis 版本 2.0.0 开始,此命令被视为已弃用,可以将其替换为 GETRANGE
。
1 | SET name "hello java" |
APPEND(拼接)
格式:APPEND key value
版本:2.0.0
描述:如果已存在并且是字符串,则此命令将 字符串的末尾。 如果不存在,则将其创建并设置为字符串。
1 | APPEND name 10086 |
SETRANGE(覆写值)
格式:SETRANGE key offset value
版本:2.2.0
描述:从指定偏移量开始,覆盖key后面的字符。如果超过键值范围,则用0填充后再覆盖。
1 | SET key1 "Hello World" |
STRLEN(获取值长度)
格式:STRLEN key
版本:2.2.0
描述:获取key值的长度
1 | SET name zhangsan |
INCR(递增)
格式:INCR key
版本:1.0.0
描述:必须是64 位有符号 integer ,如果key不存在,默认从0开始递增,步长默认是1。
1 | SET age 18 |
INCRBY(步长递增)
格式:INCRBY key increment
版本:1.0.0
描述:按照给定的值递增
1 | INCRBY age 2 |
INCRBYFLOAT(浮点数递增)
格式:INCRBYFLOAT key increment
版本:2.6.0
描述:浮点数递增,给定值必须能解析成双精度浮点数(double)。
1 | SET age 18 |
DECR(递减)
格式:DECR key
版本:1.0.0
描述: 必须是64 位有符号 integer ,如果key不存在,默认从0开始递减,步长默认是1。
1 | DECR age |
DECRBY(步长递减)
格式:DECRBY key decrement
版本:1.0.0
描述:按照给定的值递减
1 | SET age 100 |
LCS(求近似值)
格式:LCS key1 key2 [LEN] [IDX] [MINMATCHLEN] [WITHMATCHLEN]
版本:7.0.0
描述:求两个字符串的近似值
选项:
LEN
:获取近似值的长度LDX
:获取近似值中每个字符所在位置MINMATCHLEN
:给定最小长度匹配近似值WITHMATCHLEN
:
1 | MSET key1 ohmytext key2 mynewtext |
List(列表)
Redis 列表是字符串值的链表。 Redis 列表经常用于:
- 实现堆栈和队列。
- 为后台工作器系统构建队列管理。
基本命令
LPUSH
将新元素添加到列表的头部;RPUSH
添加到尾巴上。LPOP
从列表的头部删除并返回一个元素;RPOP
执行相同的操作,但从列表的尾部开始。LLEN
返回列表的长度。LMOVE
以原子方式将元素从一个列表移动到另一个列表。LTRIM
将列表缩小到指定的元素范围。
阻止命令
列表支持多个阻塞命令。 例如:
BLPOP
从列表的头部删除并返回一个元素。 如果列表为空,则命令将阻塞,直到元素变为可用或达到指定的超时。BLMOVE
以原子方式将元素从源列表移动到目标列表。 如果源列表为空,则该命令将阻塞,直到新元素可用。
命令大全
LPUSH(左添加)
格式:LPUSH key element [element ...]
版本:1.0.0
描述:将所有指定的值插入列表的头部,先入后出。列表不存在时则自动创建,然后再插入值。
1 | LPUSH name zhangsan |
LPUSHX(左添加·X)
格式:LPUSHX key element [element ...]
版本:2.2.0
描述:与LPUSH
不同之处在于,列表不存在时,不会创建,会插入失败。
1 | LRANGE age 0 -1 |
RPUSH(右添加)
格式:RPUSH key element [element ...]
版本:1.0.0
描述:将所有指定的值插入列表的尾部,列表不存在时则自动创建,然后再插入值。
1 | RPUSH mylist "hello" |
RPUSHX(右添加·X)
格式:RPUSHX key element [element ...]
版本:2.2.0
描述:与RUSH
不同之处在于,列表不存在时,不会创建,会插入失败。
1 | RPUSH mylist "Hello" |
LLEN(列表长度)
格式:LLEN key
版本:1.0.0
描述:返回列表长度。如果key不存在返回0,key存在且不是列表则报错。
1 | LLEN sql |
LINDEX(获取元素)
格式:LINDEX key index
版本:1.0.0
描述:根据索引获取元素
1 | LPUSH names zhang wang |
LINSERT(指定元素前后插入)
格式:LINSERT key <BEFORE | AFTER> pivot element
版本:2.2.0
描述:在列表中指定元素的前面或后面插入元素。如果key不存在,没有任何操作;如果key存在且不是列表类型,则报错。
1 | LPUSH sql mysql redis mongodb |
LRANGE(范围查找)
格式:LRANGE key start stop
版本:1.0.0
描述:返回存储在列表中指定偏移量的元素。偏移量也可以是负数,表示从列表末尾开始。例如,-1
是列表的最后一个元素,-2
是倒数第二个元素,以此类推。超出列表索引范围不会产生错误。
1 | LRANGE mylist 0 10 |
LPOS(获取元素索引)
格式:LPOS key element [RANK rank] [COUNT num-matches] [MAXLEN len]
版本:6.0.6
描述:返回给定元素在列表中的索引。
- RANK:你想要第几个匹配的索引。1:第一个,2:第二个,以此类推。
- COUNT:你想要几个索引。1:1个,2:2个,以此类推。
1 | LRANGE mylist 0 -1 |
LREM(删除)
格式:LREM key count element
版本:1.0.0
描述:从列表中删除首次出现的元素等于 存储在 。 该参数通过以下方式影响操作:
count > 0
:从头到尾移动删除相当于element
的元素,只删一个。count < 0
:从尾部移动到头部删除相当于element
的元素,只删一个。count = 0
:删除所有等于element
的元素。
1 | lrange mylist 0 10 |
LSET(覆盖元素)
格式:LSET key index element
版本:1.0.0
描述:覆盖列表中指定index 位置的元素值为 element
。LSET如果索引不存在会报错。
1 | LRANGE mylist 0 10 |
LTRIM(截取)
格式:LTRIM key start stop
版本:1.0.0
描述:根据索引范围截取列表。start可以是负数,表示从末尾开始。超过范围的下标并不会产生错误:如果 start 超过列表尾部,或者 start > end,结果会是列表变成空表(即该 key 会被移除)。 如果 end 超过列表尾部,Redis 会将其当作列表的最后一个元素。
1 | LPUSH str 1 2 3 4 5 6 |
LMOVE(移动)
格式:LMOVE source destination <LEFT | RIGHT> <LEFT | RIGHT>
版本:6.2.0
描述:将列表source
的第一个或最后一个元素移动到列表destination
的第一个或最后一个元素。
1 | LPUSH list1 a b c |
BLMOVE(阻塞·移动)
格式:BLMOVE source destination <LEFT | RIGHT> <LEFT | RIGHT> timeout
版本:6.2.0
描述:BLMOVE
是 LMOVE
的阻塞变体。 当source
包含元素时,此命令的行为与 LMOVE
完全相同。 在 MULTI
/EXEC
块中使用时,此命令的行为与 LMOVE
完全相同。 当source
为空时,Redis 将阻止连接,直到另一个客户端推送到它或直到timeout
(指定要阻止的最大秒数的双精度值)。timeout
为0
表示无限期阻塞。
1 | LPUSH list1 a b c |
LPOP(弹出·左)
格式:LPOP key [count]
版本:1.0.0
描述:从列表头部开始,删除并返回列表的头部1个元素。count
可选,表示要删除几个。
1 | LPUSH list 1 2 3 4 5 |
BLPOP(阻塞·左弹出)
格式:BLPOP key [key ...] timeout
版本:2.0.0
描述:它是 LPOP
的阻塞版本,按给定key的顺序,弹出第一个非空列表的头元素。如果给定key的所有列表为空,则等待超时时间结束后返回空。如果超时时间内有另一个客户端往给定key的列表里面添加了值,则立即返回这个key的名称和值。
1 | a,b,c三个列表都不存在,阻塞中 |
RPOP(弹出·右)
格式:RPOP key [count]
版本:1.0.0
描述:从列表尾部开始,删除并返回列表的尾部1个元素。count
可选,表示要删除几个。
1 | RPUSH mylist "one" "two" "three" "four" "five" |
BRPOP(阻塞·右弹出)
格式:BRPOP key [key ...] timeout
版本:2.0.0
描述:按给定key的顺序,弹出第一个非空列表的尾部一个元素,在指定timeout
范围内,列表全是空时会阻塞,超时返回空。
1 | a,b,c三个列表都不存在,阻塞中 |
LMPOP(多弹出)
格式:LMPOP numkeys key [key ...] <LEFT | RIGHT> [COUNT count]
版本:7.0.0
描述:从提供键名称列表中的第一个非空列表键中弹出一个或多个元素。
- numkeys:根据提供的key实际数量填写,有几个就是几个。
- LEFT | RIGHT:按key的顺序,从左到右、从右到左。
- count:弹出的元素数量。
1 | LPUSH list a b c d e |
BLMPOP(阻塞·多弹出)
格式:BLMPOP timeout numkeys key [key ...] <LEFT | RIGHT> [COUNT count]
版本:7.0.0
描述:从提供键名称列表中的第一个非空列表键中弹出一个或多个元素。
- timeout:阻塞最大时间
1 | LPUSH list1 a b c |
RPOPLPUSH(元素转换)
格式:RPOPLPUSH source destination
版本:1.2.0
描述:以原子方式返回并删除存储在source
列表的最后一个元素(尾部),并将该元素推送到存储destination
列表的第一个元素(头部)在。从 Redis 版本 6.2.0 开始,此命令被视为已弃用,可以将其替换为带有 and 参数的 LMOVE
。
1 | RPUSH mylist "one" |
BRPOPLPUSH(阻塞·元素转换)
格式:BRPOPLPUSH source destination timeout
版本:2.0.0
描述:BRPOPLPUSH
是 RPOPLPUSH
的阻塞变体。 当包含元素时,此命令的行为与 RPOPLPUSH
完全相同。 当为列表空时,Redis 将阻止连接,直到另一个客户端 推到它或直到到达。 timeout
为零可用于无限期阻塞。从 Redis 版本 6.2.0 开始,此命令被视为已弃用。可以将其替换为带有 and 参数的 BLMOVE
。
Set(集合)
Redis 集合是唯一字符串(成员)的无序集合。 您可以使用 Redis 集有效地执行以下操作:
- 跟踪唯一项目(例如,跟踪访问给定博客文章的所有唯一 IP 地址)。
- 表示关系(例如,具有给定角色的所有用户的集合)。
- 执行常见的集合运算,例如交集、并集和差分。
基本命令
SADD
将新成员添加到集合中。SREM
从集合中除去指定的成员。SISMEMBER
测试字符串的集合成员身份。SINTER
返回两个或多个集合(即交集)具有共同的成员集。SCARD
返回集合的大小(也称为基数)。
命令大全
SADD(添加)
格式:SADD key member [member ...]
版本:1.0.0
描述:将指定的成员添加到集合中。
1 | SADD names zhangsan |
SMEMBERS(打印)
格式:SMEMBERS key
版本:1.0.0
描述:返回集合所有元素
1 | SADD names wang zhang lin you |
SREM(删除)
格式:SREM key member [member ...]
版本:1.0.0
描述:从集合删除指定元素
1 | SMEMBERS names |
SCARD(获取长度)
格式:SCARD key
版本:1.0.0
描述:返回集合的元素数。
1 | SADD age 18 19 20 |
SDIFF(比较)
格式:SDIFF key [key ...]
版本:1.0.0
描述:返回第一个集合与其他集合之间的差异,就是第一个集合中独有的元素。不存在的集合 key 将视为空集。
1 | SADD name1 "zhang" "li" |
SDIFFSTORE(比较并存储)
格式:SDIFFSTORE destination key [key ...]
版本:1.0.0
描述:与SDIFF
效果一致,但是不返回结果集,而是把结果集存储在destination
中,destination
已存在则覆盖。
1 | SDIFFSTORE new_name name1 name2 name3 |
SINTER(交集)
格式:SINTER key [key ...]
版本:1.0.0
描述:返回所有给定集合的交集。
1 | SADD A 1 2 3 4 |
SINTERCARD(交集个数)
格式:SINTERCARD numkeys key [key ...] [LIMIT limit]
版本:7.0.0
描述:类似于SINTER
但它不是返回结果集,而是仅返回交集中的元素个数。如果其中一个key
是空集,则结果也是空集(因为集与空集的交集总是导致空集)。
- LIMIT:可以指定交集结果最大元素数,达到限制后算法将退出求交集,防止异常和提高性能。
1 | SINTERCARD 3 A B C |
SINTERSTORE(交集且存储)
格式:SINTERSTORE destination key [key ...]
版本:1.0.0
描述:与SINTER
效果一致,但是不返回结果集,而是把结果集存储在destination
中,destination
已存在则覆盖。
1 | SINTERSTORE D A B C |
SUNION(并集)
格式:SUNION key [key ...]
版本:1.0.0
描述:返回所有集合的并集。
1 | SMEMBERS A |
SUNIONSTORE(并集且存储)
格式:SUNIONSTORE destination key [key ...]
版本:1.0.0
描述:返回所有集合的并集,存储到destination
集合。
1 | SUNIONSTORE D A B C |
SISMEMBER(包含)
格式:SISMEMBER key member
版本:1.0.0
描述:查询集合是否包含某元素,如果包含返回1
,不包含返回0
。
1 | SADD names zhao li wang gu |
SMISMEMBER(包含多个)
格式:SMISMEMBER key member [member ...]
版本:6.2.0
描述:与SISMEMBER
效果相同,但支持多个元素,返回的结果顺序与请求顺序一致。
1 | SADD names zhao li wang gu |
SMOVE(移动)
格式:SMOVE source destination member
版本:1.0.0
描述:将source
集合中的元素member
,移动到destination
集合中。成功返回1
;member
不是source
的成员则返回0
;source
或destination
不是集合类型,则返回错误。
1 | SMEMBERS names |
SPOP(随机弹出)
格式:SPOP key [count]
版本:1.0.0
描述:从集合中弹出元素,默认弹出1个,count
可以指定弹出数量。返回被弹出的元素。
1 | SMEMBERS A |
SRANDMEMBER(随机获取)
格式:SRANDMEMBER key [count]
版本:1.0.0
描述:类似于SPOP
,但不删除元素,仅返回元素。指定count
大于集合长度时,返回集合所有元素。指定count
小于0时,返回count
绝对值的元素个数,count
为负数且绝对值大于集合长度时,可能返回多个重复值。
1 | SMEMBERS B |
SSCAN(遍历)
格式:SSCAN key cursor [MATCH pattern] [COUNT count]
版本:2.8.0
描述:遍历集合中键的元素,是SCAN
的子命令。
- cursor - 游标。
- pattern - 匹配的模式。
- count - 指定从数据集里返回多少元素,默认值为 10 。
1 | SADD names zhang4 zhang5 zhang6 zhanga zhe zhi zhp zhq zh0 zh34 zh12 zher zh1233 zh9 zhee zh23 |
Hash(哈希)
基本命令
命令大全
HSET(设置哈希字段)
格式:HSET key field value [field value ...]
版本:2.0.0
描述:设置哈希键值。从Redis版本4.0.0开始接受多个参数。
1 | HSET en BBB 1 CCC 2 DDD 3 |
HMSET(设置多个字段·已弃用)
格式:HMSET key field value [field value ...]
版本:4.0.0 开始已弃用
描述:设置哈希键多个字段值
1 | HMSET myhash field1 "Hello" field2 "World" |
HSETNX(设置哈希字段·NX)
格式:HSETNX key field value
版本:2.0.0
描述:仅当哈希键的字段不存在时才设置值。
1 | HSETNX user name zhangsan |
HGET(获取字段值)
格式:HGET key field
版本:2.0.0
描述:获取哈希键的值
1 | HSET user name "zhangsan" age "18" |
HMGET(获取多个字段值)
格式:HMGET key field [field ...]
版本:2.0.0
描述:获取多个字段的值,返回值顺序与给定字段顺序一致。
1 | HMGET user name age |
HGETALL(获取值·所有)
格式:HGETALL key
版本:2.0.0
描述:获取哈希键的所有字段和值
1 | HGETALL user |
HDEL(删除字段)
格式:HDEL key field [field ...]
版本:2.0.0
描述:删除指定字段,成功返回1,字段不存在返回0,从2.4.0
开始支持多个字段。
1 | HSET myhash field1 "foo" |
HEXISTS(是否存在)
格式:HEXISTS key field
版本:2.0.0
描述:存在返回1
,不存在返回0
1 | HSET myhash field1 "foo" |
HEXPIRE(设置字段过期·秒)
格式:HEXPIRE key seconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
版本:7.4.0
描述:在给定哈希key
的字段上设置过期时间,到期后该字段会被删除。可以使用 HPERSIST
命令清除 TTL, 该命令会将哈希字段转换回持久字段。
seconds
:秒数numfields
:字段数量,如3
,后面跟着3个字段
该命令支持一组选项:
NX
– 对于每个指定字段,仅当字段没有过期时才设置过期时间。XX
– 对于每个指定字段,仅当字段已过期时才设置过期时间。GT
– 对于每个指定字段,仅当新到期时间大于当前到期时间时才设置过期时间。LT
– 对于每个指定字段,仅当新到期时间小于当前到期时间时才设置过期时间。
1 | HEXPIRE no-key 20 NX FIELDS 2 field1 field2 |
HPEXPIRE(设置字段过期·毫秒)
格式:HPEXPIRE key milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
版本:7.4.0
描述:设置哈希键上字段的过期时间,以毫秒为单位。
1 | HSET mykey field1 "hello" field2 "world" |
HEXPIREAT(设置字段过期·Unix秒)
格式:HEXPIREAT key unix-time-seconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
版本:7.4.0
描述:与HEXPIRE
效果一致,不同的是用Unix 时间戳(秒)来设置。
1 | HSET mykey field1 "hello" field2 "world" |
HPEXPIREAT(设置字段过期·Unix毫秒)
格式:HPEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
版本:7.4.0
描述:与HEXPIREAT
效果一致,不同的是用Unix 时间戳(毫秒)来设置。
1 | HSET mykey field1 "hello" field2 "world" |
HTTL(获取有效期·秒)
格式:HTTL key numfields field [field ...]
版本:7.4.0
描述:获取哈希键的某些字段的过期时间,以秒为单位返回。
1 | HSET mykey field1 "hello" field2 "world" |
HPTTL(获取有效期·毫秒)
格式:HPTTL key FIELDS numfields field [field ...]
版本:7.4.0
描述:与 HTTL
一样,以毫秒单位返回字段过期时间。
1 | HPTTL no-key 10 FIELDS 3 field1 field2 field3 |
HEXPIRETIME(获取字段过期时间·Unix秒)
格式:HEXPIRETIME key FIELDS numfields field [field ...]
版本:7.4.0
描述:返回自 Unix 纪元以来的绝对 Unix 时间戳(以秒为单位),给定键的字段将在该时间过期。
1 | HSET mykey field1 "hello" field2 "world" |
HPEXPIRETIME(获取字段过期时间·Unix毫秒)
格式:HPEXPIRETIME key FIELDS numfields field [field ...]
版本:7.4.0
描述:返回自 Unix 纪元以来的绝对 Unix 时间戳(以毫秒为单位),给定键的字段将在该时间过期。
1 | HSET mykey field1 "hello" field2 "world" |
HINCRBY(递增·整数)
格式:HINCRBY key field increment
版本:2.0.0
描述:递增/递减哈希键中某个字段,字段必须是64 位有符号整数。返回递增/递减后的值。
increment
:递增值,整数。
1 | HGET user age |
HINCRBYFLOAT(递增·浮点数)
格式:HINCRBYFLOAT key field increment
版本:2.6.0
描述:浮点数递增/递减,给定值必须能解析为双进度浮点数。
1 | HINCRBYFLOAT user age 0.5 |
HKEYS(所有字段)
格式:HKEYS key
版本:2.0.0
描述:返回哈希键的所有字段。
1 | HKEYS user |
HLEN(字段数量)
格式:HLEN key
版本:2.0.0
描述:返回哈希键中字段数量。
1 | HLEN user |
HPERSIST(永久有效期)
格式:HPERSIST key FIELDS numfields field [field ...]
版本:7.4.0
描述:删除哈希键上字段的过期时间,字段将被重置为永久有效。
1 | HSET mykey field1 "hello" field2 "world" |
HRANDFIELD(随机获取)
格式:HRANDFIELD key [count [WITHVALUES]]
版本:6.2.0
描述:随机返回哈希字段,count
为正数则返回的字段不会重复,count
为负数则会重复。指定关键字WITHVALUES
后,返回字段的值。
1 | HSET coin heads obverse tails reverse edge null |
HSCAN(扫描键)
格式:HSCAN key cursor [MATCH pattern] [COUNT count] [NOVALUES]
版本:2.8.0
描述:有关文档,请参阅 SCAN
。
1 |
HVALS(获取所有值)
格式:HVALS key
版本:2.0.0
描述:返回哈希键的所有值,不带字段。
1 | HGETALL user |
HSTRLEN(值的长度)
格式:HSTRLEN key field
版本:3.2.0
描述:获取哈希键某个字段值的长度,字段值类型必须是字符串类型。
1 | HSTRLEN user name |
ZSet(有序集合)
命令大全
BZMPOP
格式:``
版本:``
描述:
1 |
BZPOPMAX
格式:``
版本:``
描述:
1 |
BZPOPMIN
格式:``
版本:``
描述:
1 |
ZADD
格式:``
版本:``
描述:
1 |
ZCARD
格式:``
版本:``
描述:
1 |
ZCOUNT
格式:``
版本:``
描述:
1 |
ZDIFF
格式:``
版本:``
描述:
1 |
ZDIFFSTORE
格式:``
版本:``
描述:
1 |
ZINCRBY
格式:``
版本:``
描述:
1 |
ZINTER
格式:``
版本:``
描述:
1 |
ZINTERCARD
格式:``
版本:``
描述:
1 |
ZINTERSTORE
格式:``
版本:``
描述:
1 |
ZLEXCOUNT
格式:``
版本:``
描述:
1 |
ZMPOP
格式:``
版本:``
描述:
1 |
ZMSCORE
格式:``
版本:``
描述:
1 |
ZPOPMAX
格式:``
版本:``
描述:
1 |
ZPOPMIN
格式:``
版本:``
描述:
1 |
ZRANDMEMBER
格式:``
版本:``
描述:
1 |
ZRANGE
格式:``
版本:``
描述:
1 |
ZRANGEBYLEX
格式:``
版本:``
描述:
1 |
ZRANGEBYSCORE
格式:``
版本:``
描述:
1 |
ZRANGESTORE
格式:``
版本:``
描述:
1 |
ZRANK
格式:``
版本:``
描述:
1 |
ZREM
格式:``
版本:``
描述:
1 |
ZREMRANGEBYLEX
格式:``
版本:``
描述:
1 |
ZREMRANGEBYRANK
格式:``
版本:``
描述:
1 |
ZREMRANGEBYSCORE
格式:``
版本:``
描述:
1 |
ZREVRANGE
格式:``
版本:``
描述:
1 |
ZREVRANGEBYLEX
格式:``
版本:``
描述:
1 |
ZREVRANGEBYSCORE
格式:``
版本:``
描述:
1 |
ZREVRANK
格式:``
版本:``
描述:
1 |
ZSCAN
格式:``
版本:``
描述:
1 |
ZSCORE
格式:``
版本:``
描述:
1 |
ZUNION
格式:``
版本:``
描述:
1 |
ZUNIONSTORE
格式:``
版本:``
描述:
1 |