Redis常用命令(最新版)(速记)

String类型的命令:

append:追加字符串
incr:整数自加1
Incrby:整数自加x
Incrbyfloat:浮点数自加x
Decr:整数自减1
Decrby:整数自减x
set:赋值
Ex second:设置key的过期时间为秒
Px millisecond:设置key的过期时间为毫秒
Exat:指定过期时间为Unix时间,单位是秒
Pxat:指定过期时间为Unix时间,单位是毫秒
Nx:当key不存在时,才可对key进行set操作,常用于添加
Xx:key已经存在时,才对key进行set操作,常用于更新
Keepttl:保存ttl时间
Get:取值
Strlen:取得String的长度
Setrange:更新部分内容
Getrange:取得部分内容
Msetnx:只有key都不存在才会批量执行set操作
Mset:批量set
Mget:批量get
Getdel:获得value值然后删除
Getex:获得值得同时可以设置ttl时间
Starlgo:字符串常见算法

Hash类型的命令:

Hset:设置key,value值
Hget:根据key值获取value值
Hmset:批量赋值
Hmget:批量取值
Hlen:返回fields的个数
Hdel:删除key中的field
Hexists:判断field是否存在
Hincrby:自增整数
Hincrbyfloat:自增浮点数
Hgetall:取得所有field和对应的value值
Hkeys:取得所有的field
Hvals:取得所有的value
Hsetnx:只有当field不存在时才将value进行保存
Hstrlen:返回field存储value字符串的长度
Hscan:以多次迭代的方式将hashs中的数据取出
Sort:对hash排序
Hashfield:随机返回field

Lists类型命令:

Rpush:尾部添加
RPUSGX:将值插入到列表的尾部,如果列表不存在,操作无效
Llen:获得元素个数
Lrange:取得元素
Rpushx:如果key存在才向list尾部插入值
Lpush:头部添加
Lpushx:如果key存在才向list头部插入值
Rpop:移除并返回存于list的最后一个元素
Lpop:移除并返回存于list中的第一个元素
Lmove:移动两个list之间的元素(将前一个列表的左边元素或右边元素放入后边列表的左边或右边)
LLEN:返回列表的长度
Lrem:删除元素
Lset:更新元素(替换指定下标的值)
Ltrim:截取列表(控制列表的长度)
Linsert::在list的前边或后边插入
Lindex:返回列表中指定index的元素
Blpop:阻塞移除并返回存于list的最前一个元素
BLPOP:移除并获取列表的第一个元素,如果列表没有元素就会发生阻塞直到等待超时或发现可弹出元素为止。
Brpop:阻塞移除并返回存于list的最后一个元素Hash
BRPOP:命令移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
Lpos:返回匹配元素在list中的索引
BLMOVE:将前一个列表的左边元素或右边元素放入后边列表的左边或右边,如果没有元素就会发生阻塞

Sorted Set类型命令:

zadd:添加
xx:存在才更新
nx:不存在才更新
LT:只有当新分数小于当前分数时才更新现有元素
GT:只有当新分数大于当前分数时才更新现有元素
CH:返回新添加的新元素个数和已更新分数score的已存在的元素个数之和(注:zdd只返回新添加的新元素的数量)
incr:对成员的分数进行递增操作,但是每次只能对一个成员进行操作,并返回新分数
xx结合ch参数获得更新的元素个数
分数score可以是双精度浮点型如:zadd key1 -2.5 a
zrangestore:将查询出的数据存储到目标key中
zrange:获取数据(默认是获取指定索引范围内的数据)
withscores:命令zrange可以结合withscores参数,以便将元素和分数一起返回
byscore:按分数score范围从sort sets取得数据 范围包含min和max,参数min和max可使用
-inf和+inf代替表示最低分和最高分
bylex:按元素的字典顺序进行查询(注:使用字典顺序需要依赖具有相同分数的所有元素)
( : 代表排除即不包含 [ :代表包含
+ :代表 正无限 - :代表负无限
如果想添加不以区分大小写的方式进行比较的字符串,但是查询时仍想检索真实的大小写,可以通过以下方式添加:
zadd zifuchuan 0 username:username 0 username:USERNAME
rev:实现倒序查询
limit:分页 limit用于从匹配元素中获取子范围 负数是返回所有元素(只要是负数就返回所有元素与负数的大小无关)
zcard:返回成员的个数
zcount:返回分数在a参数和b参数之间的个数
zincrby:对分数进行自增
zunion:对多个key进行合并(不同key中的相同元素的分数会相加)
zunionstore:对多个key进行合并,然后将结果存在目标key中
weights:不同key中的分数先与weights相乘(如果不同key中具有相同元素,则相同的元素的相乘后的分数会再进行相加)
aggregate:指定并集结果集的聚合方式,默认是求和(相同元素相加取和),如果 使用min或max参数,结果集中保存分数最小或最大的元素
zinter:获得交集且集合中的元素的分数为不同key中的分数之和
zinterstore:获得交集并取和且存储到目标key中
zremrangebylex:按字典序删除元素
zlexcount:查询字典顺序区间之间元素的个数
zremrangebyscore:按分数删除元素
zpopmax:删除分数最大元素并返回
zpopmin:删除并返回最小元素
bzpopmax:zpopmax的阻塞版本
bzpopmin:zpopmin的阻塞版本
zrank:取得成员在sort set中的排名
zrevrank:zrank的倒序版本
zremrangbyrank:删除指定排名范围内的成员
zrem:删除指定的member成员
zscore:返回一个成员的分数
zmscore:返回多个成员的分数
zscan:增量迭代
sort:对sort sets排序 只针对value排序,而不是对score分数排序
zrandmember:随机返回指定个数的元素
zdiff:获得差集
zdiffstore:取得差集并将结果存储到目标key中

Keys类型命令:

del:删除给定的一个或多个key
exists:判断key是否存在
unlink:断开key和value的关联
rename:对key进行重命名
renamenx:如果不存在才重命名
keys:获取key列表
type:判断数据类型
randomkey:随机返回key
move:将key移动到其他 db中
copy:复制数据
object:获取key的元数据
object refcount:返回指定key关联的value引用数,此命令用于开发者进行调试
object encoding:返回key关联的value的内部表示形式,命令type是取得key对应的 存储数据类型,object encoding取得的是数据内部存储的具体算法
redis中的string内部编码有三种
(1)8字节的长整型
(2)embstr:小于等于39字节的字符串
(3)raw:大于39个字节的字符串
object ldletime:返回key的空闲时间
object freq:返回指定key的访问频率的对数
object help:查看object子命令的帮助文档
touch:修改key最后的访问时间(作用:增加key的活跃度,避免被内存回收策略所删除)
scan:多次迭代取出所有key
dump:实现序列化
restore:反序列化
migrate:转移数据(跨不同的redis进行传输)
而move是在当前redis实例中的不同数据库之间对数据进行移动
expire:在key上设置超时时间,超时后key将被自动删除
ttl:返回具有ttl的key的剩余时间
如果key不存在,ttl命令将返回-2如果key存在,但没有设置ttl时间返回-1
rename不会清除ttl
del、set、getset、store会清除ttl
改变value不会清除ttl
expire会覆盖原有的ttl值
expireat:到达Unix时间后自动删除(单位是秒)
使用负数ttl调用expire或使用过去时间调用expireat会导致key被删除
persist:删除key上的ttl时间,永久保存


版权声明:本文为weixin_44044816原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。