Redis五大数据类型常用指令

Redis入门参考:https://blog.csdn.net/ws_kfxd/article/details/85016471

Redis详细文档:http://redisdoc.com/

开发中常用指令

一、库操作:

select 0                 //切换库
dbsize                 //查询当前库是否有数据
flushdb                 //清除单个库所有key数据
flushall                 //清除所有库所有key数据

二、key操作

keys *                 //查找全部key
set k1 v1                 //添加数据
get k1                 //查询数据
del key                 //删除数据
exists key                 //是否存在某key
move key1 2                 //将key1剪切到2号库
ttl key                 //查看过期时间  -1永不过期  -2已过期
expire key 10                 //设置key过期时间为10秒
type key                 //查此key对应值数据类型

三、String类型指令:

append key 12345                 //追加数值
strlen key                 //返回key为string类型的value的长度(当 key 储存的不是字符串值时,返回一个错误,key不存在时,返回0)
incr key                 //数值自加1
incrby key 3                 //数值加3
decrby key 2                 //数值减2
getrange key 0 3                 //截取字符串,不影响原值
setrange key 0 123                 //从第0位开始替换3位为123
setex key 10 value                 //设值+过期时间
setnx key value                 //设值,若key存在,不成功,防止覆盖
mset k1 v1 k2 v2 ……                 //设值多个值
mget k1 k2……                 //查询多个值
msetnx k1 v1 k2 v2 ……                 //若一个以上已存在,不成功

四、List类型指令:

lpush list 1 2 3 4 5                 //创建list,依次从左边添加元素
rpush list 1 2 3 4 5                 //创建list,依次从右边添加元素
lrange list 0 3                 //查询list,索引0-3
lpop list                 //弹出最左边的一个元素 (删除)
rpop list                 //弹出最右边的一个元素 (删除)
lindex list 2                 //查询索引为2的值
llen list                 //查询list长度
lrem list 2 3                 //删除list中2个3
ltrim list 0 4                 //截取出索引为0-4的值,赋给原来的list
rpoplpush list1 list2                 //将list1的尾值弹出放入list2的头部(list1中的尾值删除了)
lset list 1 x                 //用x替换list中索引为1的值
linsert list before x y                 //在list中值为x的前面插入y
linsert list after x y                 //在list中值为x的后面插入y

五、Set类型指令:

sadd set 1 1 2 2 3 3                 //只能添加进1 2 3(无重复)
smembers set                 //查询set内容
sismember set x                 //判断set中是否有x
scard set                 //查询set有几个值
srem set x                 //删除set中的x
srandmember set x                 //在set中随机出x个值
spop set                 //随机出栈一个(删除)
smove set1 set2 x                 // 将set1中的x赋给set2中
数学集合类:
sdiff set1 set2                 //找出仅存在set1中的值(差集)
sinter set1 set2                 //找出set1和set2中都存在的值(交集)
sunion set1 set2                 //找出set1和set2中所有的值,重复的去重(并集)

六、Hash类型指令:(v是键值对)

hset user id 1                 //给key为user的hash中加入<id,1>
hget user id                 //取出 key为user的hash中的id的值
hmset user id 11 name ws……                 //添加多个键值对
hmget user id name……                 //查询多个键的值
hgetall user                 // 查询出所有键和对应的值
hdel user id                 // 删除键为id的键值对
hlen user                 //  查询user中有几个键值对
hexists user id                 // 判断是否存在为id的键值对
hkeys user                 //  查询出所有的键
hvals user                 //查询出所有的值
hincrby user id 2                 //将键为id的值加2(整数)
hincrbyfloat user id 0.5                 //将键为id的值加0.5(小数)
hsetnx user age 22                 //若age不存在则设置成功,若age存在则不成功

七、Zset(sorted set)类型指令: (相当于在set前加一个score值)

zadd zset 60 v1 70 v2 80 v3                 //向zset中添加(60)v1 (70)v2 (80)v3
zrange zset 0 -1                 //查询zset中的值(不显示score)
zrange zset 0 -1 withscores                 //查询zset中的值(score显示在值的后面)
zrangebyscore zset 60 70                 //查询score在60-70间(包含60 70)的值
zrangebyscore zset 60 (70                 //查询score在60-70间(包含60 不包含70)的值
zrangebyscore zset 60 70 limit 1 2                 //在以上结果集中再截取(类似mysql分页)
zrem zset v3                 // 删除zset的v3
zcard zset                 //查询zset中的值个数
zcount zset 60 70                 //查询zset中score在60-70间(包含60 70)的值得个数
zrank zset v2                 // 查询值为v2的下标
zscore zset v2                 // 查询值为v2的score
zrevrank zset v3                 //逆序获得值为v3的下标
zrevrange zset 0 -1                 // 逆序查询出所有值
zrevrangebyscore zset 80 60                 //逆序查询score在80-60间(包含80 60)的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值