redis命令

发布时间:2024年01月23日

key

查看当前数据库key数量:dbsize

清空当前库:flushdb

清空全部库:flushall

获取当前库的所有key:keys *

选择数据库:select ?(index)

将当前库的key移动到另一数据库(目标库有,不能移动):move key ?

从数据库中随即返回key:randomkey

返回key类型:type key

删除key:del key

判断key是否存在:exists key

为key设置过期时间:expire key 10? 秒? ? ? ?pexpire key 1000? ?毫秒

删除key过期时间:persist key

查看过期时间:ttl key? ?-1永不过期? -2已经过期

string类型

设值取值命令

添加键值对:set key value ?? NX :当数据库中key不存在时可以添加??setnx key value?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? XX:当数据库key存在时,可以添加

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? EX:key的超时秒数????????setex key 80 val

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PX:key的超时毫秒数

设置新值同时获取旧值:getset key value

批量操作命令

批量操作键值对?:mset key1 value1 key2 value2?...? key存在也可操作

批量设置键值对:msetnx key1 value1 key2 value2 ...? 有一个key存在就全部失败

批量获取:mget key1 key2 ...

?从 index开始替换value:setrange key index value

从n-m开始获取value:getrange key n m

获取value:getrange key 0 -1? ? ? ? ?0 -1全部

添加value到原值的末尾:append key value

获得value长度:strlen key?

?递增递减命令

将key中值递增1:incr key

将key中值递减1:decr key

递增n:incrby key n

递减n:decrby key n

?数据结构

采用预分配冗余空间方式减少内存的频繁分配

当字符串长度小于1M时,一次扩容一倍空间,超过1M时,一次扩容1M空间,字符串最大长度512M

list类型

常用命令

从左/右添加值:lpush/rpush key?value1 value2 ...

从左/右吐出值(值在键在,值亡键亡):lpop/rpop key

从key1右边吐出值插入key2左边:rpoplpush key1 key2

取值:lrange key n m

?按下标获取元素:lindex key index

获取list长度:llen key

从左边开始删除n个对应的value:lrem key n value

将list下标为index的值替换成value:lset key index value

在value之前/之后插入新value:linsert key before/after value/newvalue

hash类型

给key集合中的field键赋值value:hset key field value

从key集中field中取出value:hget key field

批量设置hash的值:hmset key field value field2 value2...

查看key中,field键是否存在:hexists key field

查看hash集合所有field:hkeys key

查看hash集合所有value:hvals key

为key中的field值增加:hincrby key field increment

设置key中field的值为value(当字段field不存在时,执行设置操作成功,返回1,失败返回0):hsetnx key field value

set类型

添加多个member元素到集合key:sadd key value1 value2 ...

取出集合所有的值:smembers key

判断集合key是否含有value值(有1,没有0):sismember key value

返回集合中元素个数:scard key

删除集合中的某个元素:srem key value1 value2 ...

随机从集合中吐出n个值(值会被删除):spop key n

随机取出n个值(值不会被删除):srandmember key n

把set集合中的一个值从一个集合移到另一个集合:smove set1 set2 value

返回两个集合的交集元素:sinter key1 key2

返回两个集合的并集元素:sunion key1 key2

返回两个集合的差集元素(key1中的,不包含key2):sdiff key1 key2

zset类型?

将一个或多个member元素及其score值添加到有序集zset中:zadd zset score1 value1 score2 value2 ...

返回zset中下标在n,m之间的元素(带withscores可以让分数和值一起返回):zrange zset n m

将zset中所有score值介于n,m间的元素按score值从小到大排序:zrangebyscore zset n m withscores limit a b

同上从大到小排序:zrevrangebyscore zset m n?withscores limit a b

为zset集合中value的score增加n分:zincrby zset n value

删除zset下的指定值的元素:zrem zset value

统计集合分数n-m区间内的元素个数:zcount zset n m

?zrank zset value 返回value在集合中的排名,从0开始

?

文章来源:https://blog.csdn.net/x403899/article/details/135747551
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。