(一) Redis 数据类型之字符串String
判断key是否存在,返回true / false, 1/0
1 | exists key |
查看剩余存活时间
※ 获取不存在的key,返回-11
ttl key
查看过期key情况
※ redis作为一个内存型的数据库,我们需要对过期key保持关注,从info keyspace中可以看出有多少key没有设置过期时间1
2
3info keyspace
eg: db0:keys=10000,expires=3,avg_ttl=583699
set
set key value [ex seconds] [px milliseconds] [nx|xx]
- ex : 过期 (s)
- px: 过期 (ms)
- nx: 不存在则创建
- xx: 存在则覆盖创建
1 | ① set key value |
mset
mset, msetnx 批量创建
mset key1 value1 [key2 value2…] #批量创建kv,已存在的会被更新
msetnx key1 value1 [key2 value2…] #批量创建kv,所有key不存在才会创建
1 | 127.0 :6379> mset k1 a k2 b k3 c |
del
del key1 [key2 key3…]
1 | 127.0 :6379> del k1 k2 k3 |
getset
getset key new_value
等同于get+set,执行此命令返回get的结果,然后将该key更新为新的value,下次再get的时候查到的就是新的value。
setrange
setrange key offeset value
对指定下标的字符串进行更新,下标从0开始算起。
keys
keys *
查看所有key
get
get key
使用get获得指定key的value
mget
mget key1 [key2 key3…]
使用mget批量获得指定keys的values
getrange
getrange key start end
从字符串的指定开始结束下标截取字符串返回,下标从0开始算起。
incr
incr key
对指定的key的value值 + 1, 若不存在,初始值为0,incr后为1。字符串无法转换会报错。
decr
decr key
对指定的key的value值 - 1, 若不存在,初始值为0,incr后为-1。字符串无法转换会报错。
incrby
incrby key
增加指定步长,如果key不存在,初始值为0,incrby后为步长。不能转换会报错。
decrby
decrby key 3
增加指定步长,如果key不存在,初始值为0,incrby后为步长的负数。不能转换会报错。
append
append key valu
追加字符串
strlen
strlen key
返回字符串的长度
incrbyfloat
incrbyfloat key 2.5
支持浮点传参