Redis常用数据类型及操作命令

常用命令

select 7        #切换到库6
dbsize          #查看当前库的总key数
flushall        #清除所有库的缓存
flushadb        #清除当前库的缓存
keys *          #列出当前库所有key名(可以试用key ?/?? 类似系统查询)
move k 库ID     #把当前库k移到指定库
expire k 秒     #设置key多少秒后过期
type k          #查看key类型
ttl k           #查看key生存时间,-1表示永不过期,-2表示已过期

key/values常用命令

set k v         #设置k/v
get k           #获取v
exists k        #判断key是否存在
del k           #删除指定key

str常用命令

append k v      #向k里面增加值
strlen k        #获取长度
incr k          #值一定要是数字 类似 自增长+1  
decr k          #值一定要是数字 类似 自减-1
incrby k 2      #值一定要是数字 类似 自增长+2
decrby k 2      #值一定要是数字 类似 自减-2
getrange k start end  #获取k 起始索引 至 end索引的 值
setrange k start v    #从start 设定k的值
setex k         #设定 k 的存活时间秒
setnx k v       #如果k存在 则不设定v,如果不存在则设定v
mset k1 v1 k2 v2 ...    #同时设定多个k/v
mget k1 k2 k3   #同时获取多个k
msetnx k1 v1 k2 v2 ...  同时设定多个k/v 只要任意一个k存在,则整组都失败

list用用命令

lpush k v1 v2 v3 v4     #从左边向k 列表增加v1 v2 v3 v4 值 先进后出
rpush k v1 v2 v3 v4     #从右边向k 列表增加v1 v2 v3 v4 值 先进先出
lrange k start end      #获取k 列表 起始索引 至 end索引的 值
lpop k                  #从左边弹出1个v
rpop k                  #从右边弹出1个v
lindex k index          #取指定索引的V
llen                    #查看list的长度
lrem k n v              #删除n个v
ltrim k sindex eindex   #截取开始索引 至 结束索引 重新赋值k
rpoplpush k1 k2         #从k1列表尾部弹出一个插入k2列表头部
lset k index v          #设定指定索引的值
linsert k before/after v1 v2  #before在指定v1前面插入v2 ,after反之

set常用命令

sadd k v1 v2 v3 ...     #新增set,如果值有重复的只会插入1个
smembers k              #查看set 值
sismember k v           #判断v是否存在
scard k                 #获取set长度
srem k v                #删除指定的值
srandmember k n         #随机抽取n个值
spop k                  #随机弹出1个值
smove k1 k2 k1v         #从k1移动k1v至k2
sdiff k1 k2             #差集(找出k1不在k2的值)
sinter k1 k2            #交集(找出共同值)
sunion k1 k2            #并集(合并所有值)

Hash常用命令

hset k v(k/v)           #如 hset user id 01 设置user id 为 01
hget k v(k)             #如 hget user id 获取user id 值
hmset k v1(k/v) v2(k/v) ... #如 hmset user id 01 name zs age 18       
hmget k v1(k) v2(k) ...     #如 hmget user id name age
hgetall k               #获取所有 v(k/v)
hdel k v1(k)            #删除v1的值 如 hdel user name
hlen k                  #获取长度
hexists k v(k)          #判断v的k是否存在
hkeys k                 #获取所有keys
hvals k                 #获取所有values
hincrby k v(k) n        #v值必须是数字,指定v + n 如 hincrby user age 2 ,age+2
hincrbyfloat k v(k) n   #同上,只是表示能操作小数
hsetnx k v(k/v)         #如果v的k存在则不新增,反之新增

Zset常用命令

zadd k s1 v1 s2 v2 ...  #每个值前面增加一个分数,会根据小>大分数排榜
zrange k sindex eindex   #获取指定索引的值
zrevrange k sindex eindex  #逆向获取指定索引的值
zrange k sindex eindex withscores  #获取指定索引的值跟分数
zrangebyscore k sscore (escore   #获取指定分数内的值‘(’表示不包含 也可以追加 withscores 同上
zrevrangebyscore k sscore (escore    #逆向获取指定分数内的值‘(’表示不包含 也可以追加 withscores 同上
zrangebyscore k sscore escore limit sindex eindex  #获取指定分数内的值 并获取s>e数量的值
zrem k v                #删除指定值
zcard k                 #获取长度
zcount k sscore escore  #统计范围内的数量
zrank k v               #获取v的索引值
zrevrank k v            #获取v的逆向索引值
zscore k v              #获取v的score值
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容