《redis入門指南》讀書筆記
來源:互聯網
上載者:User
項目需要,惡補了一下,分享給大家,作為入門瞭解
1. redis用c開發,3萬多行。最新版本:3.2.1
2.支援類型: 字串 (512M以內),雜湊,列表,集合,有序集合
3.redis 官方不支援 windows
4. 可以限定資料佔用的最大記憶體空間,達到空間限制後,按照一定規則自動淘汰不需要的鍵。
5.所有資料存放區在記憶體中,1秒內讀寫超過1萬個索引值對
6. redis是單執行緒模式,單效能已經足夠友誼,基本不會成為瓶頸。在用到進階資料類型或是持久化功能時,比較適用。
7.redis的清單類型鍵可以實現隊列,支援阻塞式讀取,從而實現高效能優先順序隊列
8.啟動命令: redis-server;停止命令: redis-cli SHUTDOWN;測試連接: redis-cli ping
9. 預設連接埠:6379
10. redis預設支援16個資料庫,預設串連0號資料庫。select命令更換資料庫
11. config set 和 config get 進行配置設定和擷取
12.不同應用應該使用不同的redis執行個體儲存資料。不用擔心redis執行個體多而展記憶體的問題。一個空執行個體:1MB
13. 查詢所有鍵 KEYS * ; 判定存在: exists bar
14. redis 支援事務:multi
15. 可以設定索引值對失效時間: expire
16. 可以現在每個使用者每分鐘的訪問次數: 做一個計數器。超出值後可以提示等待,1分鐘後失效
17. 緩衝實現:給鍵產生存留時間: 先訪問緩衝,如果有則直接取,沒有的話,資料庫中擷取後,重新賦值,並設定存留時間
$rank = GET cache:rank
if not $ rank
$rank= XXX
multi
set cache:rank,$rank
expire cache:rank,7200
exec
為防止redis佔用記憶體過大,設定最大記憶體maxmemory和淘汰規則maxmemory-policy
具體規則包括LRU(最近最少使用)
18.任務隊列實現: LPUSH RPOP
19 redis 和用戶端 使用 tcp串連,並支援管道
20. redis 指令碼:Lua語言: 原子操作,高效,複用
redis-cli --eval /path/XXX.lua 參數
21. lua語言:高效輕量級指令碼語言,《憤怒的小鳥》實現
22. redis 對json支援: cjson庫,MessagePack支援: cmsgpack庫
23. redis3.0以上帶有 cluster功能:將資料庫中的鍵分散到不同的節點中
24. AOF方式(append only file)預設未開啟,開啟後,執行每條命令都會 持久化到硬碟中AOF檔案(純文字)
25. 有複製功能,可以實現多個伺服器的資料同步: 主從同步: 主要資料庫:讀寫,從資料庫:讀。1主多從。
只需要在從資料庫設定檔中加入“slaveof主要資料庫IP 主要資料庫連接埠”
26. 主從啟動: redis-server --port 6380 --slaveof 127.0.0.1 6379 ---------從而實現redis的讀寫分離