Redis是NOSQL陣營中的一種數據庫,主要用於存儲緩存
五大數據類型:字符串(String)、散列(hash)、列表(list)、集合(set)、有序集合(SortedSett 、zset)
String: set key value 鍵值對存儲值
get key 通過鍵獲取值
keys * 查看所有鍵
incr key key的值加1,只能為數值
deci key key的值減1,只能為數值
del key 根據鍵刪除鍵值對
Hash hset key key value key-map,map中為key-value
例如:hset 1605 01 zhangsan 1605班里01號張三
hget key 通過key獲取Map
keys * 查看所有大key
hget 1605 01 通過兩個key獲取值
hkeys 1605 通過一個key獲取小key
hvals 1605 通過小key獲取值
hgetall 1605 獲取所有key-value
hdel 1605 01 刪除1605下01對應的數據
List lpush list a b c d e (左)添加abcde到列表list中
rpush list 1 2 3 4 5 (右)添加12345
range list 0 -1 展示所有list中的數據
lpop list 冒泡,刪除第一個元素
Set sadd card 01 02 03 03 04 05 添加進set中,限顯示結果不重復
smembers card 展示集合所有元素
srem card 04 刪除
交集、並集:
Sadd seta a b c d e
Sadd setb c d e f g
Sdiff seta setb // a中獨有元素
Sdiff setb seta // b中獨有元素
Sinter seta setb //交集
Sunion seta setb //並集
SortedSet(zset): 有順序不可重復
zadd zset1 2 a 5 b 1 c 6 d 添加zset值
zrange zset1 0 -1 展示
zrem zset1 a 刪除
zrevrange zset1 0 -1 逆序展示
zrange zset1 0 -1 withscores 帶編號展示
zrevrange zset1 0 -1 withscores 帶編號逆序展示
設置key的過期時間。
Expire key second:設置key的過期時間
Ttl key:查看key的有效期
Persist key:清除key的過期時間。Key持久化。
是-1 代表是持久化的 -2代表不存在 是正數表示正在倒計時
redis持久化方案
Redis的所有數據都是保存到內存中的。
Rdb:快照形式,定期把內存中當前時刻的數據保存到磁盤。Redis默認支持的持久化方案。
aof形式:append only file。把所有對redis數據庫操作的命令,增刪改操作的命令。保存到文件中。數據庫恢復時把所有的命令執行一遍即可。
Rdb:在redis.conf中配置
根據需求修改下面保存頻率,一般不動
Aof
修改APPendonly為 yes 保存命令
修改后不須關閉快照