插入数据
set key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp] [NX|XX]
EX:多少秒后过期消失
PX:多少毫秒后过期消失
EXAT:指定时间戳过期
PXAT指定毫秒时间戳过期
NX:不存在 再执行
XX:存在 再执行
注意: set插入数据 如果k存在会覆盖
TTL生存时间
查询生存时间
TTL key
注意:
-1表示没有设置生存时间
-2设置生存时间,但是已经消亡了
删除生存时间
PERSIST key
设置多少秒或者毫秒后过期
EXPIRE key seconds PEXPIRE key milliseconds
设置多少秒或者毫秒后过期
EXPIRE key seconds PEXPIRE key milliseconds
查询
keys pattern
keys * # *匹配所有 keys k? # ?匹配以为所有 keys k[ab]y #[] 匹配集合中某一位
k的操作
查询k的类型
type key
判断是否存在
EXISTS key
k的重命名
RENAME key newkey RENAMENX key newkey
键删除
DEL key [key ...]
获取值 GET key 获取多个给定的键的值 MGET key [key ...] 返回旧值并设置新值 GETSET key value 如果键不存在,就创建并赋值
字符串的操作
字符串长度 STRLEN key 字符串长度 STRLEN key
追加字符串 APPEND key value 如果键存在就追加;如果不存在就等同于SET key value 获取子字符串 GETRANGE key start end 索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符 覆盖字符串 SETRANGE key offset value
步长
INCR key DECR key
INCR key DECR key
注意:只能是数字类型的String才能使用
位图BitMap
不是真正的数据类型 是隐藏再String的一个二进制的存储方式
一个字符串类型的值最多能存储512M字节的内容 位上限:2^(9+10+10+3)=2^32b
每个位图的位置默认存储的为0,存储数据是按照数据二妗子和方式 依次顺推
set a a;0110 0001 位图:0110 0001 0000....00000 设置某一位上的值 SETBIT key offset value offset偏移量,从0开始 value不写,默认是0 获取某一位上的值 GETBIT key offset 返回指定值0或者1在指定区间上第一次出现的位置 BITPOS key bit [start] [end]
位操作
BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey
a:97:0110 0001 b:98:0110 0010 and :0110 0000 or :0110 0011 xor :0000 0011
统计指定位区间上值为1的个数 BITCOUNT key [start] [end] 从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节 BITCOUNT testkey 0 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计 BITCOUNT testkey 0 -1等同于BITCOUNT testkey 最常用的就是 BITCOUNT testkey
注意:
八位字节是一个区间
库的操作
redis默认16个库
切换数据库
select index
清除当前库数据 FLUSHDB 清除所有库中的数据 FLUSHALL