简介

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"