第一章:初識Redis

Redis是一種基於鍵值對的Nosql數據庫;
支持類型包括String、hash、list、set、zset、bitmaps、hyperloglog、GEO等多種數據結構和算法組合。
Redis會將全部數據保存到內存中,因此它的讀寫速度很是快。
Redis還能夠將內存的數據利用快照和日誌的形式保存在硬盤上。
Redis提供鍵過時、發佈訂閱、事務、流水線、Lua腳本等附加功能
 
Redis速度快
  • Redis全部數據保存在內存中,這是Redis快的主要緣由;
  • Redis使用C語言實現,C語言裏操做系統更近,執行速度相對會更快;
  • Redis使用單線程,預防了多線程可能的產生的競爭問題;
  • Redis做者對Redis源碼的集性能和優雅於一身的開源代碼;
 
Redis豐富的功能
  • 提供了鍵過時:能夠用於實現緩存
  • 發佈訂閱功能,能夠實現消息系統
  • 支持Lua腳本功能,能夠利用Lua創造新的Redis命令
  • 提供簡單的事務支持,能在必定程度保證事務特性
  • 流水線功能,這樣客戶端能將一批命令一次性傳遞到Redis,減小網絡的開銷
 
Redis持久化
  • RDB內存快照的方式將內存中的數據保存到硬盤中。
  • AOF追加日誌的方式將內存中的數據保存到硬盤中。
 
Redis客戶端支持語言多
Redis主從複製
Redis高可用和分佈式
  • Redis sentinel哨兵機制保證Redis節點的故障發現和故障自動轉移;
  • Redis cluster實現了Redis真正的分佈式實現,提供了高可用、讀寫和容量的擴展性;
 
Redis應用場景
  • 緩存:緩存數據到內存加快訪問,設置鍵值對過時時間;
  • 排行榜系統:Redis提供列表和有序集合數據結構
  • 計數器應用:incre自增命令
  • 社交網絡:針對社交中「贊」「粉絲」「推送」「喜愛」等數據存儲到Redis中
  • 消息隊列系統:Redis提供的發佈訂閱和阻塞隊列功能;
 
Redis不適用作什麼
  • 不適合存儲大量數據
  • 不適合存儲冷數據,即不多有人訪問的數據
 
Redis經常使用命令
  • redis-server:啓動redis
  1. 默認啓動方式:redis-server
  2. 運行啓動:redis-server --configKey1 configValue1 --configKey2 configValue2
  3. 配置文件啓動:redis-server /opt/redis/redis.conf
  • redis-cli:客戶端鏈接redis
  • redis-banchmark:redis基準測試工具
  • redis-check-aof:redis aof持久化文件檢測和修復工具
  • redis-check-dump:redis rdb持久化文件檢測和修復工具
  • redis-sentinel:啓動redis哨兵
 
Redis中止服務
  • 優雅關閉:redis-cli shutdown
分爲兩步:斷開和客戶端的鏈接、持久化文件生成
  • 強行關閉:kill -9
不會作持久化,而且會形成緩衝區等資源不能被優雅的關閉,極端狀況下回形成aof和複製丟失數據的狀況。
相關文章
相關標籤/搜索