redis五种基本类型的常用命令
Redis 23

Redis 五大基本数据类型:

String

// 常用命令
// NX key不存在时设置成功
// EX seconds 设置过期时间,单位为秒
// PX milliseconds 设置过期时间,单位为毫秒
// EXAT unix-time-seconds 设置以秒为单位的UNIX时间戳所对应的时间为过期时间
// PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
set key value [NX|XX][GET][EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

//
get key

// 设置过期时间,过期时间为3秒
set key1 value1 EX 3
setex key 3 value

// 当 key 不存在时设置 key
set key value NX
setnx key val

// 当 key 不存在时设置 key,过期时间为10秒
set key value NX EX 10

// 设置键存在时的键值(即覆盖作用),并返回原来的值
set key1 value2 get
getset key1 value2

// 同时设置一个或多个键值对
MSET key1 value1 key2 value2 key3 value3  

// 同时获取多个key的值
MGET [key1] [key2] [key3] 
 
// 同时设置一个或多个 key-value 对  必须保证key都不存在才能成功
MSETNX key1 value1 key2 value2  

//是原子操作,删除指定的key数据
del key

//常用于多线程时,非阻塞删除,仅仅将keys从keyspace元数据中删除,没真正的删除,会在后续异步中操作      
unlink key

Hash

// 获取在某个key内的全部数量
hlen

// 设置值
hset key field value

// 获取值
hget key field

// 获取 key 的全部键值对
hgetall key

// 看key中是否有k1这个键
hexists key k1   

// 获取key里面的所有key
hkeys key        

// 不存在赋值,存在了无效
hsetnx [key] k1 [value] 

List

// 往 列表头部(左边)放入元素
lpush [key] [value] ...  

// 往 列表(右边)放入元素
Rpush [key] [value] ...  

// 从左边开始遍历列表  只能从左边遍历
lrange [key] 0 -1      

// 最左边的出栈 也就是lrange遍历的第一个
lpop [key]           

// 最右边的出栈 也就是lrange遍历的最后一个
rpop [key]           

// 通过索引值获取值
lindex [key] [index]  

// 获得元素个数
llen [key]    

// 从左往右删除 num个值为 value的值(因为list允许有重复的值)
lrem [key] [num] [value]  

// 从左往右删除所有值为value的值
lrem [key] 0 [value]  

// 截取指定范围的值后再赋给[key],也就是删除这个区间外的值
ltrim [key] [开始] [结束] 

//移除key1列表的最后一个元素(也即R端),并将该元素添加到另一个key2列表的第一个(L端)并返回这个元素的值
RPOPLPUSH [key1] [key2]  

//将key的第 index 个索引值改为value
lset [key] [index] [value]   

Set

// 添加元素,有重复值时,自动去重
SADD key [member ...]   

// 遍历集合中所有元素
SMEMBERS key      

// 判断元素是否在集合中
SISMEMBER key member    

// 删除元素
SREM key [member ...]     

// 获取集合长度
SCARD  key          

// 从set集合里面随机取出m个元素展示,不会删除  如果超过最大数量就全部取出   如果写的值是负数,比如-3 ,表示需要取出3个,但是可能会有重复值
SRANDMEMBER key m   

// 从集合中随机弹出一个元素,会删除
SPOP key m   

// 将key1的已存在的某个值value1迁移给key2,key1中value1便没有了
SMOVE key1 key2 value1  

ZSet

// 添加元素
ZADD key score member [score member ] 

// 返回元素分数从小到大的顺序   返回索引从start到stop之间的所有元素,0 -1是返回全部
ZRANGE key start stop [WITHSCORES] 

// 反序,WITHSCORES参数表示显示分数
ZREVRANGE key 0 - 1 [WITHSCORES]   

// 获取指定分数范围的元素,在min或max前加"("时,表示开区间   limit是返回限制,返回多少个 
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 
// 例子:ZRANGEBYSCORE key 60 90 limit 0 1  // 表示在key中筛选一个分数在(60,90]区间中的值

// 获取元素的分数
ZSCORE key member     

// 获取集合中元素的数量
ZCARD key             

// 删除元素
ZREM key 某score下对应的value值   

// 增加某个元素的分数
ZINCRBY key increment member    

// 获得指定分数范围内的元素个数
ZCOUNT key min max     

// 获得value下标
ZRANK key value     

// 逆序获得下标
ZREVRANK key values  

redis五种基本类型的常用命令
https://www.orioncoder.cn/archives/rediswu-zhong-ji-ben-lei-xing-de-chang-yong-ming-ling
作者
Orion
发布于
更新于
许可