標籤:http io ar 使用 sp java strong on 檔案
官方對Redis的闡述:
Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as adata structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps andhyperloglogs.
Redis是一個開源的,BSD許可的,進階的“鍵-值”緩衝與儲存。它經常被稱為是一個資料結構伺服器,因為鍵可以字串、雜湊表、列表、集合、有序集合、位元影像和hyperloglogs。
“Introduction to Redis”概要地介紹了Redis的關鍵特性和功能:
- atomic operations (所有命令都是原子操作)
- in-memory dataset (所有資料都放在記憶體中)
- 具有有限存活時間的鍵
- LRU緩衝
- 持久化(RDB-記憶體快照|鏡像、AOF-追加每個命令到日誌)
- 主從非同步複製
- Sentinel-自動容錯移轉
- 事務
- 發布/訂閱
- Lua指令碼
- 推薦使用Linux系統部署
和常見命令的使用情境:
- 增加雜湊表中的值(某物不同維度計數器或屬性)
- 壓入一個元素到一個列表(訊息列表、隊列)
- 從有序集合中擷取排名最高的成員(TOP N、熱點即時新聞、熱點搜尋)
[參考]
- Redis 命令中文版, huangz同學的翻譯
【動手實踐】
實踐目標:探索高可靠和可擴充的分布式Redis緩衝方案
在實踐過程中有不懂的地方,都會去看看 Documentation 有沒我想要的東東~
從Redis原始碼編譯和安裝的步驟,如下:
1. 從Download下載最新的穩定版並解壓
Linux代碼
- $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
- $ tar -xzf redis-2.8.17.tar.gz
2. 在解壓檔案之後,請務必先仔細閱讀發布檔案(redis-2.8.17)下的 INSTALL 和 README (裡面有一些很重要的資訊等待你去瞭解,能為你日後節省不少時間哦!你懂~ ^_^)
3. 按照 README 裡的步驟說明來構建Redis、運行Redis、玩轉Redis、安裝Redis
3.1 構建Redis(務必在伺服器上運行測試,確保所有命令都是可用的)
Linux代碼
- $ cd redis-2.8.17
- $ make
- $ make test
構建時,我遇到提示"缺少C++編譯器"的錯誤,並會提示可用的安裝包("sudo apt-get install g++")。
3.2 運行Redis伺服器
Linux代碼
- $ src/redis-server
3.3 玩轉Redis用戶端
Linux代碼
- $ src/redis-cli
- redis> set foo bar
- OK
- redis> get foo
- "bar"
3.4 安裝Redis服務
Linux代碼
- $ sudo make install
4. 若使用 utils/install_server.sh 來產生初始化指令碼、設定檔、安裝並啟動服務的話,可以大大地節省配置的時間。但在使用之前,請先瀏覽一下其實現 (注意:服務已作為系統的一部分,會在系統重啟時自動啟動!)
Linux代碼
- $ sudo sh install_server.sh
5. 在修改預設的配置屬性之前,請瀏覽 redis.conf。若要修改預設的一些配置屬性,可以參考 Redis configuration,更詳細的資訊就參考 Documentation 的 Administration 主題內容
6. “Redis as an LRU cache”,Redis作為一個LRU緩衝的配置參考 (內容很有價值!)
Redis.conf代碼
- maxclients 65536
-
- maxmemory 128MB
-
- maxmemory-policy allkeys-lru
-
- maxmemory-samples 10
-
- # 注釋掉 RDB 的所有觸發規則
- #save 900 1
- #save 300 10
- #save 60 10000
7. “Master-Slave”主從架構的配置修改,請參考 @江南白衣 整理的關於Redis方面最全面的 Redis springside4的 “附錄1: 對redis.conf預設配置的修改”
Redis.conf代碼
- daemonize yes
8. 當 redis.conf 中的相關屬性都修改完成後,就可以執行 utils/install_server.sh 指令碼了
9. 使用“sudo netstat -anp | grep redis”來確認所有Redis服務是否都已啟動成功
至此,所有Redis服務都啟動完畢。
Redis服務快速部署