1.Redis 全局命令
keys命令 keys *
keys t*
查询所有的建(支持通配符)
这个命令尽量慎用,它的时间复杂度为o(n) 如果Redis 存着大量的键,在遍历时,会严重影响性能
可以使用dbsize获取键的总数
exists 检查键是否存在,存在返回1,不存在返回0;
del
删除返回删除键的个数,不存在删除对象返回0;支持批量执行
键过期 expire
Redis 支持给键添加过期时间,过期后会自动删除键,时间单位秒
ttl 返回键的剩余时间 有三种返回值 大于等于0 返回的是剩余时间 -1 没有设置过期时间
-2键不存在
expireat 键在秒级时间截timestamp后过期。
pexpire key milliseconds:键在milliseconds毫秒后过期。
pexpireat key milliseconds-timestamp键在毫秒级时间戳timestamp后过期。
persist命令可以将键的过期时间清除:
type
返回键的数据结构类型
randomkey
随机返回一个键
rename
键重命名
2.String 常用命令
set 命令的几个选项
ex 为键设置过期时间 px 为键设置毫秒级别的过期时间 nx 键必须不存在,才能设置成功
xx键必须存在才可以设置成功
get 如果不存在返回空
mest 可以批量设置值
mget可以批量获取值
incr
incr命令用于对值做自增操作,返回结果分为三种情况:
值不是整数,返回错误。
值是整数,返回自增后的结果。
键不存在,按照值为0自增,返回结果为1。
Redis提供了decr(自减)、 incrby(自增指定数字)、decrby(自减指定数字)、incrbyfloat(自增浮点数)
append追加指令
append可以向字符串尾部追加值
strlen 字符串长度
返回字符串长度
getset 设置并返回原值
setrange 设置指定位置的字符
getrange 截取字符串
3.哈希(Hash)命令
哈希类型中的映射关系叫作field-value,注意这里的value是指field对应的值,不是键对应的值。
hset设值
hget取值
hdel删除field
hlen计算field个数
hmset批量设值
hmget批量取值
hexists判断field是否存在
hkeys获取所有field
hvals获取所有value
hgetall获取所有field与value
hincrby增加
hstrlen 计算value的字符串长度
4.列表(list)
lrange 获取指定范围内的元素列表(不会删除元素)
lrange 0 -1命令可以从左到右获取列表的所有元素
rpush 向右插入
lpush 向左插入
linsert 在某个元素前或后插入新元素
lpop 从列表左侧弹出(会删除元素)
rpop 从列表右侧弹出
lrem 对指定元素进行删除
ltirm 按照索引范围修剪列表
lset修改指定索引下标的元素
lindex 获取列表指定索引下标的元素
llen 获取列表长度
blpop和brpop阻塞式弹出元素
5.集合(set)命令
sadd 添加元素
允许添加多个,返回结果为添加成功的元素个数
srem 删除元素
允许删除多个,返回结果为成功删除元素个数
scard 计算元素个数
sismember 判断元素是否在集合中
如果给定元素element在集合内返回1,反之返回0
srandmember 随机从集合返回指定个数元素
指定个数如果不写默认为1
spop 从集合随机弹出元素
同样可以指定个数,如果不写默认为1,注意,既然是弹出,spop命令执行后,元素会从集合中删除,而srandmember不会。
smembers 获取所有元素(不会弹出元素)
返回结果是无序的
sinter 求多个集合的交集
suinon 求多个集合的并集
sdiff 求多个集合的差集
6.有序集合(ZSET)命令
zadd添加成员
zadd命令还有四个选项nx、xx、ch、incr 四个选项
zcard 计算成员个数
zscore 计算某个成员的分数
zrank计算成员的排名
zrem 删除成员
zincrby 增加成员的分数
zrange和zrevrange返回指定排名范围的成员
zrangebyscore返回指定分数范围的成员
zcount 返回指定分数范围成员个数
zremrangebyrank 按升序删除指定排名内的元素
zremrangebyscore 删除指定分数范围的成员
zinterstore 交集
这个命令参数较多,下面分别进行说明
destination:交集计算结果保存到这个键。
numkeys:需要做交集计算键的个数。
key [key ...]:需要做交集计算的键。
weights weight
[weight ...]:每个键的权重,在做交集计算时,每个键中的每个member 会将自己分数乘以这个权重,每个键的权重默认是1。
aggregate sum/
min |max:计算成员交集后,分值可以按照sum(和)、min(最小值)、max(最大值)做汇总,默认值是sum。