简介
Redis是典型的NoSQL数据库,键值存储,一般用于数据缓存场景。
redis-server是Redis服务器,默认端口是6379。redis-cli是Redis客户端。
Redis有五种数据结构:
类型 | 名称 | 新增 | 查看 | 说明 |
String | 字符串 | set mset | get mget | 值是字符串,相关命令在 |
Hash | 哈希 | hset | hget | 值是对象或字典,相关命令在 |
List | 列表 | lpush | lindex | 值是一个或多个数据,相关命令在 |
Set | 集合 | sadd | smembers | 值是一个或多个不重复的数据,相关命令在 |
Sorted Set / Zset | 有序集合 | zadd | zrange | 值是一个或多个重复的数据,还可以用score排序,相关命令在 |
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"