Redis常用命令及其案例2020
redis 相关命令
概述:redis是键值对的格式,键是字符串的形式,而其值是{字符串(String),哈希(hash),列表(list),无序集合(set),有序集合(zset)}
1.字符串操作
添加修改值
-
set键值
- 如果键不存在,就是添加
- 如果键存在,就是修改
set user aaa #添加一个键user 值为aaa set user1 bbb #添加一个键user1 值为bbb
- 1
- 2
- 3
- 4
-
setex 键 过期时间 值 带有过期时间的键值对设置
127.0.0.1:6379> setex key3 10 value3 OK 127.0.0.1:6379> get key3 value3 127.0.0.1:6379> get key3
- 1
- 2
- 3
- 4
- 5
-
mset 键1 值1 键2 值2 … 同时设置多个键值对
127.0.0.1:6379> mset user1 aaa user2 bbb user3 ccc OK 127.0.0.1:6379> get user1 aaa 127.0.0.1:6379> get user2 bbb 127.0.0.1:6379> get user3 ccc 127.0.0.1:6379>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
mget key1 key2 … 获取多个键的值
127.0.0.1:6379> mget user1 user2 user3 aaa bbb ccchaha
- 1
- 2
- 3
- 4
-
append key value 如果原来优质就追加值,没有的话相当于set的作用
127.0.0.1:6379> APPEND user3 haha 7 127.0.0.1:6379> get user3 ccchaha
- 1
- 2
- 3
- 4
-
del key1 key2 … 删除多个键值对
127.0.0.1:6379> del user1 user2 2 这个是返回的2
- 1
- 2
键命令
-
keys pattern
127.0.0.1:6379> keys user1 user1 127.0.0.1:6379> keys user11 //这里显示的是空,因为user11不存在
- 1
- 2
- 3
- 4
-
keys * 表示查询所有的键
127.0.0.1:6379> keys * user2 user3 key1 user1 use3
- 1
- 2
- 3
- 4
- 5
- 6
-
exists key1 判断键是否存在
127.0.0.1:6379> exists user1 1 127.0.0.1:6379> exists user11 0
- 1
- 2
- 3
- 4
-
type key1 查看键对应的值的类型
127.0.0.1:6379> type user1 string
- 1
- 2
-
expire key1 time 设置键的过期时间,因为可能有一些键在刚开始设置的时候没有设置过期时间,之后有需求的时候可以使用这个命令
127.0.0.1:6379> expire user1 3 1 127.0.0.1:6379> get user1 //到这就没有了
- 1
- 2
- 3
- 4
-
ttl key1 查看这个键能活多久
127.0.0.1:6379> expire user2 100 1 127.0.0.1:6379> ttl user2 95 127.0.0.1:6379> ttl user2 93 127.0.0.1:6379> ttl user2 91 127.0.0.1:6379> ttl user2 85 127.0.0.1:6379> expire user2 100 //在效使的过程中还可以重新设置键的消失时间 1 127.0.0.1:6379> ttl user2 99
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
hset key1 字段1 值1 其中key1为键,(字段1,值1)为值 ,但是这个命令只能设置一个字段
127.0.0.1:6379> hset user1 param1 value1 1
- 1
- 2
-
hmset key1 字段1 值1 字段2 值2 …这个可以有多个字段
127.0.0.1:6379> hmset user5 field1 value1 field2 value2 OK
- 1
- 2
-
hkeys key1 表示获取键的所有字段
127.0.0.1:6379> hkeys user5 field1 field2
- 1
- 2
- 3
-
hget key field 获取一个字段的值
127.0.0.1:6379> hget user5 field1 value1
- 1
- 2
-
hmget key field1 field2 获取多个字段的值
127.0.0.1:6379> hmget user5 field1 field2 value1 value2
- 1
- 2
- 3
-
hvals key 获取key的所有字段的值
127.0.0.1:6379> hkeys user5 field1 field2
- 1
- 2
- 3
-
hgetall key 获取key的所有字段名和对应的值
127.0.0.1:6379> hgetall user5 field1 value1 field2 value2
- 1
- 2
- 3
- 4
- 5
-
hdel key1 field1 删除key1中的field1这个字段值
127.0.0.1:6379> hdel user5 field1 1 127.0.0.1:6379> hvals user5 value2
- 1
- 2
- 3
- 4
-
del key1 key2 这个命令会删除所有的键和其对应的字段
127.0.0.1:6379> del user5 1 127.0.0.1:6379> exists user5 0
- 1
- 2
- 3
- 4
列表
-
添加值,因为是列表,所以是从两侧都可以添加
-
lpush key1 val1 val2 从列表的左边把值添加进去
-
rpush key1 val3 val4 从列表的右侧把值添加进去
127.0.0.1:6379> lpush user6 2 3 4 5 5 127.0.0.1:6379> 127.0.0.1:6379> rpush user6 0 0 0 8
- 1
- 2
- 3
- 4
- 5
-
linsert rinsert 在指定的值的前边或者后边插入值
127.0.0.1:6379> linsert user6 before 3 -1 9 127.0.0.1:6379> linsert user6 after 3 -1 10
- 1
- 2
- 3
- 4
-
获取lrange start end 左边索引从0开始,右边的索引从-1 开始
127.0.0.1:6379> lrange user6 0 5 //先边是对应的获取的值 5 4 -1 3 -1 2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
lset key1 1 str 可以修改key1中索引为1的值为str
127.0.0.1:6379> lset user6 1 wer OK
- 1
- 2
-
lrem key count value 表示的是删除key对应的列表中的count个value的值,若count>0 表示从左向右删除,count<0表示从右向左删除,count表示删除所有的值
127.0.0.1:6379> lrem user6 1 3 1 127.0.0.1:6379> lrange user6 0 -1 5 wer -1 -1 2 1 0 0 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
set 无序集合:(集合里边是不允许是有重复值的)就是存储的时候不像是列表是有序的
-
集合中值之恶能添加与删除,不能修改
-
smembers key1 获取集合中的值
127.0.0.1:6379> smembers set1 1 2 3
- 1
- 2
- 3
- 4
-
srem key param 就是删除key中的param这个值
127.0.0.1:6379> srem set1 2 1 127.0.0.1:6379> smembers set1 1 3
- 1
- 2
- 3
- 4
- 5
对于zset有序集合中的数值为什么是有序的,同理有序集合中的数据也是只能添加删除,但是不能修改
排序之后每个之还会有一个索引
-
添加:zadd key score1 value1 score2 value2
127.0.0.1:6379> zadd user7 1 asd 3 qwe 2 zxc 3
- 1
- 2
-
查看:zrange key start end [withscores] 后边的这个withscores可有可无,如果要输出没元素对应的分数,应带上。
127.0.0.1:6379> zrange user7 0 -1 withscores asd 1 zxc 2 qwe 3
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
zrangebyscore key score1 score2 [withscores] 表示的是去除score在score1到score2之间的值
127.0.0.1:6379> zrange user7 0 -1 withscores zxc 2 qwe 3 ert 4 fgh 6 asd 9 127.0.0.1:6379> zrangebyscore user7 4 6 ert fgh
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
zscore key value 表示的是chaxunkey这个表中的value的score
127.0.0.1:6379> zscore user7 fgh 6
- 1
- 2
-
zrem key param 表示的是删除param这个集合中的param元素
127.0.0.1:6379> zrem user7 fgh 1
- 1
- 2
-
zremrangebyscore key score1 score2 删除可key中对应的值
127.0.0.1:6379> zremrangebyscore user7 3 6 2 127.0.0.1:6379> zrange user7 0 -1 zxc asd
- 1
- 2
- 3
- 4
- 5
文章来源: englishcode.blog.csdn.net,作者:知识浅谈,版权归原作者所有,如需转载,请联系作者。
原文链接:englishcode.blog.csdn.net/article/details/109407351
- 点赞
- 收藏
- 关注作者
评论(0)