Redis 作為快取服務器的配置

來源:互聯網
上載者:User

標籤:

隨著redis的發展,越來越多的架構用它取代了memcached作為快取服務器的角色,它有幾個很突出的特點:
1. 除了Hash,還提供了Sorted Set, List等資料結構
2. 可以持久化到磁碟
3. 支援cluster (3.0)

它的效能和memcached不相上下,再加上流行的其他組件(比如隊列)也會用到redis,從架構簡單出發,已經沒有必要混用redis和memcached了。

寫篇短文介紹一下用redis作為快取服務器配置時候需要注意幾個點。

Redis配置

作為快取服務器,如果不加以限制記憶體的話,就很有可能出現將整台伺服器記憶體都耗光的情況,可以在redis的設定檔裡面設定:

?
12 # 限定最多使用1.5GB記憶體maxmemory 1536mb

如果記憶體到達了指定的上限,還要往redis裡面添加更多的緩衝內容,需要設定清理內容的策略:

?
12 # 設定策略為清理最少使用的key對應的資料maxmemory-policy allkeys-lru

清理策略有多種,redis的官方文檔有一篇很詳細的說明: http://redis.io/topics/lru-cache

Redis監控

redis提供了INFO這個命令,能夠隨時監控伺服器的狀態,只用telnet到對應伺服器的連接埠,執行命令即可:

?
12 telnet localhost 6379info

在輸出的資訊裡面有這幾項和緩衝的狀態比較有關係:

?
12345 keyspace_hits:14414110keyspace_misses:3228654used_memory:433264648expired_keys:1333536evicted_keys:1547380

通過計算hits和miss,我們可以得到緩衝的命中率:14414110 / (14414110 + 3228654) = 81% ,一個緩衝失效機制,和到期時間設計良好的系統,命中率可以做到95%以上,對於整體效能提升是很大的。
used_memory,expired_keys,evicted_keys這3個資訊的具體含義,redis的官方也有一篇很詳細的說明:http://redis.io/commands/info

有個ruby gem叫redis-stat,它利用INFO命令展現出更直觀的資訊報表,推薦:
https://github.com/junegunn/redis-stat

Redis 作為快取服務器的配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.