redis的key的通用操作,特性,以及兩種持久化
在網上學了redis的入門後,將學習的剩下內容整理如下:
1.關於key的通用操作
1.查詢資料庫裡的keys列表集合
keys *
舉個栗子:看我到現在的有多少個物件存在
2.查詢資料庫裡的有關鍵詞的物件
keys *keyword* #關鍵詞是keyword的 keyword位置不重要
keys keyword? #關鍵詞前面必定是keyword內容,後面是1個模糊的內容
keys keyword?? #關鍵詞前面必定是keyword內容,後面是2個模糊的內容
舉個栗子:我看我這有多少個物件是有關鍵詞my的
3.查詢某個物件是不是在當前資料庫裡
exists member
舉個栗子:檢視myset存在不,存在返回1 不存在為0
4.獲取key的value(我覺得只是針對於string)
get key
舉個栗子:我取得String 型別的key的value
5.修改名稱
rename oldname newname
舉個栗子:我把myset改成yourset
6.設定過期時間,時間一過就會被刪除掉
ttl是去看還有多少時間過期
expire key second ttl key
舉個栗子:我去設定一個String型別的物件,讓他在10秒後刪除,ttl檢視還有多久被刪除
為啥是-2呢:不存在時TTL會返回-2,當沒有為鍵設定過期時間時,使用TTL獲取鍵的剩餘時間將會返回-1
舉個花生:再寫一個String型別的物件:不設定時間
怎麼取消掉設定好的過期時間呢:
persist key
當然如果是String型別的使用set也可以
舉個栗子:
7.看物件是什麼型別
type key
就是說看這個key對應是什麼型別 string? set?list?
舉個栗子:
2.關於redis的特性
兩個方面:
1、選擇資料庫 預設為0
select 資料庫序號
舉個栗子:我選擇使用資料庫1,再選擇0
怎麼將0號資料庫裡的東西放到1號去呢: move
move key db
舉個栗子:我把ergouzi拖動到1號資料庫去
2、事務
像關係型資料庫一樣支援事務
multi #開啟事務
╭(╯^╰)╮ 正常操作1
(ˉ▽ ̄~) ~~ 正常操作2
ー( ̄~ ̄)ξ 正常操作3
exec #確定
discard #取消
舉個栗子:emm,,把ergouzi在事務裡面進行數值的修改,然後分別執行和取消一次
3.RDB和AOF的持久化(還有無持久化)
RDB持久化:
優勢:儲存到一個檔案中 方便快捷 程序少 資料集大啟動效率比aof高
缺點:資料易丟失 資料集大會導致伺服器停止幾秒
配置:redis.conf 關於save的三處 ,名字命名, 儲存路徑
save的存入方式:
名字
也可以看到配置檔案旁邊就有:
還有一個儲存路徑:
AOF持久化
優勢:每秒同步 每修改同步 安全
日誌寫入操作是append追加模式 資料過大 redis可以重寫啟動
格式清晰的日誌檔案
缺點:檔案相對rdb大 執行效率相對低下
需要修改的地方:
1.開啟
將其改為yes
這個是命名
還有一個同步策略需要開啟:
一般使用always
然後重啟服務(記得載入配置檔案)
就會看到當前目錄有這個aof字尾的檔案了(我沒去測試)