Redis學習—— Redis 簡介
阿新 • • 發佈:2020-12-09
1. 什麼是 Redis?
Redis 是一個使用 ANSI C 編寫的開源,支援網路,基於記憶體,可選永續性的鍵值對儲存資料庫。從2015 年 6 月開始,Redis 的開發由 Redis Labs 贊助,而2013 年 5 月至 2015 年6月期間,其開發由 Pivotal 贊助。在 2013 年 5 月之前,其開發由 VMware 贊助。根據月度排行網站 DB-Engines.com 的資料顯示,Redis是 最流行的鍵值對儲存資料庫。
2. Redis 特點
Set 是 String 型別的無序集合,不同於 List ,Set 中的元素不可以重複
Zset(有序集合)
Zset 和 Set,也是 String 型別的元素的集合,不同的是 Zset 中的每個元素都會關聯一個 double 型別的分數,Zset 中的成員都是唯一的,但是所關聯的分數可以重複
OK,通過上面的介紹,相信小夥伴們對五大資料型別都有一個大致的認識了,接下來我們就來看看這五種資料型別要怎麼操作。
4. key 相關命令
由於五大資料型別的資料結構本身有差異,因此對應的命令也會不同,但是有一些命令不管對於哪種資料型別都是存在的,我們現在就先來看看這樣一些特殊的命令
如果還沒安裝 redis 的朋友可以看一下我另外一篇:
SET 命令
DEL 命令
- Redis 支援資料的持久化,可以將記憶體的資料儲存在磁碟中,重啟的時候可以再次載入進行使用,不會造成資料丟失
- Redis 支援五種不同的資料結構型別之間的對映,包括簡單的 key/value 型別的資料,同時還提供 list,set,zset,hash 等資料結構的儲存
- Redis 支援 master-slave 模式的資料備份
# 設定 k1 的值為 v1,看到 ok 表示設定成功
127.0.0.1:6379> set k1 v1
OK
# 通過 del 命令刪除一個已經存在的 key,看到 (integer) 1 表示刪除成功dump 命令
127.0.0.1:6379> del k1
(integer) 1
# 通過 dump 命令序列化已經存在的 key,並返回序列化後的值 127.0.0.1:6379> dump k1 "\x00\x06action\t\x00|0\xd1\xd31|-r"exists 命令
# 通過 exists 命令來判斷給定 key 是否存在,如果存在,返回 1,否則返回 0TTL 命令
127.0.0.1:6379> exists k1 (integer) 1 127.0.0.1:6379> exists k2 (integer) 0
# 通過 ttl 命令 查詢 key 的過期時間 # -1 表示 key 存在並且沒有設定過期時間(永久有效) # -2 表示 key 不存在或者已過期 127.0.0.1:6379> ttl k1 (integer) -1 127.0.0.1:6379> ttl action (integer) -2expire 命令
# EXPIRE 命令可以給 key 設定有效期,在有效期過後,key 會被銷燬,second 表示秒數persist 命令
127.0.0.1:6379> expire k1 second (integer) 1
PERSIST 命令表示移除一個 key 的過期時間,這樣該 key 就永遠不會過期pexpire 命令
# PEXPIRE 命令的功能和 EXPIRE 命令的功能基本一致,只不過這裡設定的引數是毫秒PTTL 命令
127.0.0.1:6379> PEXPIRE k1 60000 (integer) 1
# PTTL 命令和 TTL 命令基本一致,只不過 PTTL 返回的是毫秒數 127.0.0.1:6379> PTTL k1 (integer) 25421KEYS 命令
# KEYS 命令可以獲取滿足給定模式的所有 key # KEYS * 表示獲取所有的 KEY, * 也可以是一個正則表示式。 127.0.0.1:6379> KEYS * 1) "k3" 2) "k2" 3) "k1"OK,key 相關的命令我們就介紹這麼多,當然還有很多其他的,小夥伴們可以參考官方文件。小夥伴在看官方文件時,有什麼問題歡迎留言討論。