關係型資料庫 表和表 資料和資料之間 需要保護
非關聯式資料庫 redis 約束 不需要保護
驗證碼 時效性 不需要永久存在
str ,list,set,zset,hash
#登入
存在16個資料庫 0-15進行表示 直接使用資料庫
預設進入的是0號資料庫
redis-cli -h 127.0.0.1 -p 6379 (遠端登入)
本地登入
redis-cli
退出 SHUTDOWN
切換選擇資料
SELECT 1
字串資料
新增單條資料
set key value
mset key value key value
set name 李四 # 新增
set name zhangsan # 修改
mset name wangwu age 21 # 新增多條資料
檢視鍵值對
get name
檢視所有的鍵值對
keys *
刪除鍵值對
del name
新增多條
mset name1 zhangsan name2 lisi name3 wangwu
修改多條
mset name1 zhangsan1 name2 lisi2 name3 wangwu3
查詢多條資料
mget name1 name2 name3
刪除多條
del name1 name2 name3
判斷鍵值對是否存在 存在返回1 反之0
exists name1
重新命名
rname age age1
set age 18
設定時效性鍵值對
set key value ex 時間
set name1 zhangsan ex 30
檢視時效性 -1 永久存在 -2 不存在 其他數值 就是存活週期
ttl name1
設定時效性鍵值對
set name1 zhangsan ex 6000
設定成永久存在
persist name1
設定成臨時的鍵值對
expire name1 6000
清空整個資料庫
FLUSHALL
列表資料
lpush rpush
先進後出 棧
lpush li a b c d e f
5 4 3 2 1 0
先進先出 佇列
lpush li2 a b c d e f
0 1 2 3 4 5
獲取列表元素
lrange li 0 -1
獲取列表長度
llen li
修改元素
lset li 0 ff
刪除元素
lpop 從上往下 從左刪除
rpop 從下往上 從右刪除
lpop li2
根據下標獲取元素
lindex li 1
lpush li3 a b c d e a a d c b a
指定刪除 2 個 a 元素 正數 從上往下刪除 負數 反之
lrem li3 2 a
b c d e a d c b a
lrem li3 -1 b
b c d e a d c a
雜湊型別
新增
hset dic name zhangsan age 19 sex nan
檢視
獲取所有的欄位
hkeys dic
獲取所有的值
hvals dic
獲取所有的鍵值對
hgetall dic
指定獲取欄位值
hget dic name
hmget dic name age
修改
hset dic name zhangsan1
刪除
hdel dic name
獲取長度
hlen dic
集合
集合內的元素具有唯一性和無序性
sadd se1 1 2 3 4 5 6 7 8 9
sadd se2 4 5 6 7 8 9 10 11 12
sadd se3 4 5 6 7 8 9 10 11 12 12
查詢
smembers se1
隨機刪除 2是個數
spop se1 2
指定刪除 吧1 刪除
srem se1 1
交集
sinter se1 se2 只檢視交接
sinterstore se4 se1 se2 吧交集儲存進入se4
並集
sunion se1 se2
sunionstore se5 se1 se2 吧並集儲存進入se5
差集
sdiff se2 se1
sdiffstore se6 se2 se1 吧差集儲存進入se6
統計集合元素個數
scard se6
隨機獲取集合內的元素 2 個數 正數可能存在重複元素 負數不會出現重複
srandmember se5 2
srandmember se5 -2
有序集合
分數
新增元素
zadd ze1 100 a 90 b 80 c 70 d 60 e 51 f
zadd ze2 20 a 30 b 40 c 70 g 60 t 51 u
檢視元素
zrange ze1 0 -1
帶上分數檢視元素
zrange ze1 0 -1 withscores
刪除元素
zrem ze1 b
交集 分數相加
zinterstore ze3 2 ze1 ze2
並集 存在相同的元素 分數相加
zunionstore ze4 2 ze1 ze2
補充
獲取指定分數範圍的元素 ( 不包含
zrangebyscore ze4 (60 (100 WITHSCORES
zrangebyscore ze4 60 100
zrangebyscore ze4 (60 100
zrangebyscore ze4 60 (100
獲取指定分數範圍的元素個數 返回個數
zcount ze4 70 120
按照分數範圍刪除元素
zremrangebyscore ze4 (60 (100
按照排名範圍刪除元素
zremrangebyrank ze4 0 2 # 0 2 下標 刪除123