Redis
文档 type 查看类型
哈希/散列
哈希名 - 字段 - 值
设置
- 直接设置,如果有原来有这个key就覆盖
hset hash key1 value1 [key2 value2 ...]
- 不存在则添加一对键值对
hsetnx hash key value
获取
- 获取单个value值
hget hash field1
- 获取多个value值
hmget hash field1 [field2]
- 获取全部key
hkeys hash
- 获取全部values
hvals hash
- 获取全部(key与value
hgetall hash
查找
检查一个哈希表的字段是否存在
hexists hash field
检查一个哈希表的长度
hlen hash
检查一个字段值的长度
hstrlen hash field
例子:
hset hash1 k1 abc
hstrlen hash k1
-> 3
增加
-
自增自定义数
- 数字
hincrby hash field number
- 浮点数
hincybyfloat hash field number
删除
- 全部删除
del hash
- 删除哈希键值对
hdel hash field1 [field2]
生存时间
expire: 单位s
pexpire: 单位ms
语法
expire `<key>` `<time>`
pexpire` <key>` `<time>`
检查生存时间剩余时间 返回值:
- number 剩余时间
- -1 非生存时间/永久键值对
- -2 key不存在
ttl key
字符串String
设置键值对与生存时间
设置秒: setex / set <key>
<value>
ex <time>
setex key time value
ste key value ex time
设置毫秒: psetex / set <key>
<value>
px <time>
psetex key time value
set key value px time
getset/set <key>
<value>
get: 修改已有的值并返回原来的值
set k7 k7
getset k7 k71 / set k7 k71 get
-> k7
nx/setnx: key不存在时添加 语法
set key value nx
setnx ket value
xx: key存在时修改
set key value xx
重新设置时不重置生存时间 set key value keepttl 示例:
set k1 v1 ex 30
set k1 v11
ttl k1
-> 去除生存时间, 返回 -1
set k1 v1 ex 30
set k1 v11 keepttl
ttl k1
-> 剩余时间
截取 语法
getrange key satrtIndex endIndex
示例
set key1 a1b2c3
getrange key 1 -2
-> 1b2c
设置单个键值对 语法
set <key> <value>
获取单个键值对 语法
get <key1> <value1> [key2 value2 keyN valueN]
设置多个键值对 语法
mset <key1> <value1> [key2 value2 keyN valueN]
获取多个键值对 语法
mget <key1> <value1> [key2 value2 keyN valueN]
检索一个键是否存在 语法
exists <key>
返回值 1: 存在 0: 不存在
删除
del <key>