redis⾼級命令
1.key操作
2.連線操作相關的命令
3.服務端相關命令
4.redis安全性
因為redis速度相當快,⼀臺⽐較好的伺服器下,⼀個外部⽤戶在⼀秒內可以進⾏10多萬次的密碼嘗試,這就要求
你必須設定⾮常強⼤的密碼來防⽌暴⼒破解。
1. 我們可以通過以下命令檢視是否設定了密碼驗證:
預設情況下requirepass引數是空的,這就意味著你⽆需通過密碼驗證就可以鏈結到redis服務。
2.你可以通過以下命令來修改引數:
也可以編輯配置⽂件進⾏修改密碼,vi redis.conf 找到下⾯進⾏修改儲存
設定密碼後,客戶端連線redis服務就需要密碼驗證,否則⽆法執⾏命令:
也可以在登入時直接進⾏授權:
5.redis事物
基本概念:
1. 什麼是redis的事務?
簡單理解,可以認為redis事務是⼀些列redis命令的集合,並且有如下兩個特點:
(1)事務是⼀個單獨的隔離操作:事務中的所有命令都會序列化、按順序地執⾏。事務在執⾏的過程中,不會被其
他客戶端傳送來的命令請求所打斷。
(2)事務是⼀個原⼦操作:事務中的命令要麼全部被執⾏,要麼全部都不執⾏。
2. 事務的性質acid
⼀般來說,事務有四個性質稱為acid,分別是原⼦性,⼀致性,隔離性和永續性。
(1)原⼦性atomicity:redis事務保證事務中的命令要麼全部執⾏要不全部不執⾏。有些⽂章認為redis事務對於執⾏
錯誤不回滾違背了原⼦性,是偏頗的。
(2)⼀致性consistency:redis事務可以保證命令失敗的情況下得以回滾,資料能恢復到沒有執⾏之前的樣⼦,是保
證⼀致性的,除⾮redis程序意外終結。
(3)隔離性isolation:redis事務是嚴格遵守隔離性的,原因是redis是單程序單執行緒模式,可以保證命令執⾏過程中
不會被其他客戶端命令打斷。
(4)永續性durability:redis事務是不保證永續性的,這是因為redis持久化策略中不管是rdb還是aof都是非同步執⾏
的,不保證永續性是出於對效能的考慮。
3. redis事務的錯誤
使⽤事務時可能會遇上以下兩種錯:
(1)⼊隊錯誤:事務在執⾏ exec 之前,⼊隊的命令可能會出錯。⽐如說,命令可能會產⽣語法錯誤(引數數量錯
誤,引數名錯誤,等等),或者其他更嚴重的錯誤,⽐如記憶體不⾜(如果伺服器使⽤ maxmemory 設定了最⼤
記憶體限制的話)。
(2)執⾏錯誤:命令可能在 exec 調⽤之後失敗。舉個例⼦,事務中的命令可能處理了錯誤型別的鍵,⽐如將列表
命令⽤在了字串鍵上⾯,諸如此類。
redis事務操作
redis事務是通過 multi, exec, discard和 watch四個原語實現的。
multi命令⽤於開啟⼀個事務,它總是返回ok。
multi執⾏之後,客戶端可以繼續向伺服器傳送任意多條命令,這些命令不會⽴即被執⾏,⽽是被放到⼀個佇列中,當exec命令被調⽤時,所有佇列中的命令才會被執⾏。
另⼀⽅⾯,通過調⽤ discard,客戶端可以清空事務佇列,並放棄執⾏事務。
例:正常執⾏:
放棄事務
Redis入門學習
redis安裝 wget tar xzf redis 2.6.13.tar.gz cd redis 2.6.13 make redis啟動 src redis server redis 簡單測試 src redis cli redis set foo bar okredis get foo bar ...
redis入門學習
redis入門學習筆記 1.remote dictionary server redis a key value儲存系統 b 支援資料的持久化 c 支援資料的備份 d 讀寫速度快 e 所有操作都是原子的 2.資料型別 string hash list set zset a value為string型...
redis學習(一)Redis入門簡介
redis 是完全開源免費的,遵守bsd協議,是乙個高效能的key value資料庫。redis 與其他 key value 快取產品有以下三個特點 tar zvxf redis 3.0 5.tar gzcd redis 3.0 5make redis server開啟之後如下圖所示 這種方式是啟動...