1. 程式人生 > >redis的key的通用操作,特性,以及兩種持久化

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字尾的檔案了(我沒去測試)