redis-cli -h 帮助
redis-cli -p port 进入指定端口
redis-cli -p port -n dbname 进入指定端口指定数据库
select dbname 在客户端中切换
FLUSHDB 删库跑路
help @TAB
string字符串操作
set key value nx(新增,没有才新增,有不新增)
set key value xx(修改,有才修改,没有不新增)
mset key1 value1 key2 value2..批量新增
msetnx key1 value1 key2 value2.. (一个失败全部失败,原子性)
mget key1 key2..批量取
append key “value” 追加
getrange key start end 截取 (end可以用-1到最后一位,正反向索引)
setrange key start value 截取设置值(覆盖之后的值)
strlen key 获取字符长度
type key 获取key group类型
object encoding key 获取key的数据类型
string数值操作
incr key 自增一位
incrby key num 自增几位
incrbyfloat key num 自增小数
decr key 自减一位
decrby key num 自减几位
getset key newvalue 设置新值返回旧值,减少了IO
redis-cli --raw
要在客户端约定好编码和解码,redis没有数据类型
字符串对象的编码可以是int,raw或者embstr。
1、int 编码:保存的是可以用 long 类型表示的整数值。
2、raw 编码:保存长度大于44字节的字符串(redis3.2版本之前是39字节,之后是44字节)。
3、embstr 编码:保存长度小于44字节的字符串(redis3.2版本之前是39字节,之后是44字节) `
```vbnet
bitmap
位图
man ascii查看
setbit key offset value offset是位图的位置,而不是字节的位置
bitpos key bit start end bit是查找的二进制位,起始终止是指字节,最终返回该二进制位在位图中的位置
(比如bitpos k1 1 0 1 查找k1,1二进制位,0到1字节中的位置最先出现的,在位图中的位置
bitpos k1 1 0 0 查找k1,1二进制位,在0字节中的位置最先出现的,在位图中的位置
bitpos k1 1 1 1 查找k1, 1二进制位,在1字节中的位置最先出现的,在位图中的位置
bitpost k1 0 1 1 查找k1,0二进制位,在1字节中的位置最先出现的,在位图中的位置)
bitcount key start end 计算key中1二进制位出现的次数,start end字节区间
bitop and/or newkey key1 key2.. 将k1,k2按位与/按位或后,算出新值放到newkey中。
(按位与有零则零,全一为一。按位或,有一为一)