字符类型
setnx: 不存在时 再设置
mset: 批量设置 mset k1 a k2 b
mget: 批量获取 k1 k2
append: 追加 append k1 " world"
getRange : 获取value中的第几位到第几位 getrange key1 1 2
这里有一个正负向索引的概念
getrange k1 5 -1 代表取第五位开始到最后一位得字符串
setRange: 替换某一个key中的某几位字符串 setRange k1 5 "MSB" 代表从第五个位置开始 设置为MSB
strlen 获取字符串的长度
getset: 先响应回去一个old值 ,再覆盖一个新值
bitmap
setbit key offset(bit位置) value
bitpos key bit start end 查找bit值0或者1 在字节当中出现的二进制的位置
bitop and/or newkey k1 k2 对k1 k2的二进制进行与或操作 得到的值赋给newkey
使用场景:用户系统,统计用户的登录次数 随机的时间窗口
方案:将用户的ID 作为key 第几天的天数做为bit的位数 0/1表示登录的状态
设置:setbit yj 355 1
统计:bitcount yj -2 -1 代表查询的是 yj在最后16天的登录次数
优点 :每个用户只需要46B 1000千万 用户的登录数据只需要400多M
使用场景2:618做活动 登录的人即可领取一份礼物,仓库应该备多少货? 此时需要提前计算活跃用户
方案:将日期作为key, 将用户的序号用作bit的索引位 0/1代表登录的状态
保存 setbit 20210705 5 0 (5 代表第5号用户)
统计方案: 1、bitop or destkey 20210705 20210706
2、bitcount destkey 0 -1
api: type (可以使用object encoding k1 对k1的value进行格式化 如果k1的值设置的是99 则type的值 会是int)