Redis常用命令和五种数据类型
原创
©著作权归作者所有:来自51CTO博客作者小龙在山东的原创作品,请联系作者获取转载授权,否则将追究法律责任
简介
Redis是典型的NoSQL数据库,键值存储,一般用于数据缓存场景。
redis-server是Redis服务器,默认端口是6379。redis-cli是Redis客户端。
Redis有五种数据结构:
类型
| 名称
| 新增
| 查看
| 说明
|
String
| 字符串
| set mset
| get mget
| 值是字符串,相关命令在help @string |
Hash
| 哈希
| hset
| hget
| 值是对象或字典,相关命令在help @hash |
List
| 列表
| lpush
| lindex
| 值是一个或多个数据,相关命令在help @list |
Set
| 集合
| sadd
| smembers
| 值是一个或多个不重复的数据,相关命令在help @set |
Sorted Set / Zset
| 有序集合
| zadd
| zrange
| 值是一个或多个重复的数据,还可以用score排序,相关命令在help @sorted_set |
set 和 get 命令设置和获取键值对
set命令用于缓存键值对,get用户获取数据。help set
和help get
可以查看命令格式。
命令格式SET key value [EX seconds] [PX milliseconds] [NX|XX]
,其中key是键,value是值,ES和PX指定生存时间,ES是过期秒数,PX是过期的毫秒数。
NX
参数表示当key不存在时才进行设置,如果key存在时,该命令不执行。
XX
参数表示当key存在时进行设置。
127.0.0.1:6379> set people1 Peter Ex 10
OK
127.0.0.1:6379> get people1
"Peter"
127.0.0.1:6379> get people1
(nil)
set people1 Peter Ex 10
设置键为people1,值为Peter,过期时间为10秒的键值对。
get在10s内获取到数据,过了10s之后获取了nil值。
del 命令删除键值对
127.0.0.1:6379> set people1 Peter
OK
127.0.0.1:6379> get people1
"Peter"
127.0.0.1:6379> del people1
(integer) 1
127.0.0.1:6379> get people1
(nil)
exists 判断键值对是否存在
127.0.0.1:6379> exists people1
(integer) 0
127.0.0.1:6379> set people1 Peter
OK
127.0.0.1:6379> exists people1
(integer) 1
字符串类型
同时设置多个字符串类型数据
127.0.0.1:6379> mset key1 value1 key2 value2
OK
127.0.0.1:6379> mget key1 key2
1) "value1"
2) "value2"
Hash类型
127.0.0.1:6379> hset People1 name Peter
(integer) 1
127.0.0.1:6379> hset People1 age 20
(integer) 1
127.0.0.1:6379> hset People1 addr shandong
(integer) 1
127.0.0.1:6379> hget People1 name
"Peter"
127.0.0.1:6379> hget People1 age
"20"
127.0.0.1:6379> hget People1 addr
"shandong"
列表类型
127.0.0.1:6379> lpush List1 01 02 03
(integer) 3
127.0.0.1:6379> lindex List1 0
"03"
127.0.0.1:6379> lindex List1 1
"02"
127.0.0.1:6379> lindex List1 2
"01"
集合类型
127.0.0.1:6379> sadd set1 s1 s2 s3
(integer) 3
127.0.0.1:6379> smembers set1
1) "s3"
2) "s2"
3) "s1"
有序集合类型
127.0.0.1:6379> zadd peoples 5.0 Peter 3.0 Mary 1.0 Alex
(integer) 3
127.0.0.1:6379> zrange peoples 0 5
1) "Alex"
2) "Mary"
3) "Peter"
127.0.0.1:6379> zrange peoples 0 5 WITHSCORES
1) "Alex"
2) "1"
3) "Mary"
4) "3"
5) "Peter"
6) "5"
查看所有key
127.0.0.1:6379> keys *
1) "key2"
2) "List1"
3) "people1"