redis指令help
通用组
help @generic
清库指令 FLUSHDB
一般不用
16个库
String类型
一些方法可以自动判断类型
nx
- 不存在时才设置
- 适用于分布式锁
xx
- 只有存在时才设置,即只能更新
mset
- 设置多个kv对
append
- 字符串尾部追加
getset
- 设置新值,返回旧值
getrange
- 取子串
- 支持正向和反向索引
setrange
- 设置子串
type
- 打印类型
object encoding
- 显示编码类型
incr
- 自增
incrby
- 累加多少
decr
- 减1
decrby
- 减少多少
strlen
- 字符串长度
mget
- 获取多个
msetnx
- 设置多个
二进制安全
字节流,一个字符一个字节
字符集 ascii码
即便是Integer类型,strlen依然是字符的个数
计算数值时,将字节拿出来转换类型然后计算
redis-cli --raw
编码集格式化
二进制位
bitmap
- setbit
key offset value
- bitcount
key start end
- bitop
与或非
用位来记录用户每年的登录状态
用户为key,时间为value,位是天数,统计用户的登录天数,查询窗口随机
每用户46B * 用户数 1kw ≈ 438.7MB
setbit user 1 1 setbit user 7 1 setbit user 364 1 # 支持正向,反向 bitcount user 200 364
时间为key,用户为value
setbit 20190101 1 1 setbit 20190102 1 1 setbit 20190102 1 7 # 统计1号2号的活跃用户数 bitop or destkey 20190101 20190102 # 支持正向,反向
bitcount destkey 0 -1
redis适用场景
金融类的需要持久化,redis不合适