Redis最佳化總結

來源:互聯網
上載者:User

標籤:

# 注意在redis.conf中的小彙總資料類型的特殊編碼設定(http://carlosfu.iteye.com/blog/2254572)
```
hash-max-zipmap-entries 64 (hash-max-ziplist-entries for Redis >= 2.6)
hash-max-zipmap-value 512 (hash-max-ziplist-value for Redis >= 2.6)
list-max-ziplist-entries 512
list-max-ziplist-value 64
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
set-max-intset-entries 512
```
# 使用32位執行個體將記憶體受限在4G內,不過他們的RDB和AOF檔案是相容在32位和64位下去切換使用的。

# 使用bit位層級操作和byte位元組層級操作來減少不必要的記憶體使用量
>* bit位層級操作:GETRANGE, SETRANGE, GETBIT and SETBIT
>* byte位元組層級操作:GETRANGE and SETRANGE

# 儘可能地使用hashes雜湊,因為小Hashes會被編碼成一個非常小的空間。
# 使用雜湊來在Redis的頂部在普通key-value儲存上來抽象記憶體使用量效率
# 關於記憶體配置:
如果maxmemory沒有設定的Redis會繼續分配記憶體,因為它認為合適的,因此它可以(逐漸)吃了你的全部可用記憶體。因此,通常建議配置一些限制。您可能還需要設定maxmemory策略,以noeviction(這不是在一些舊版本的Redis的預設值)。
這使得Redis的返回記憶體不足的錯誤寫命令,如果當它到達了極限 - 這反過來可能會導致應用程式錯誤,但不會導致因為記憶體饑餓而整機死亡。
```
另外redis的6種到期策略,redis中的預設的到期策略是volatile-lru,設定方式
  config set maxmemory-policy volatile-lru
  maxmemory-policy 六種方式
  volatile-lru:只對設定了到期時間的key進行LRU(預設值)
  allkeys-lru : 是從所有key裡 刪除 不經常使用的key
  volatile-random:隨機刪除即將到期key
  allkeys-random:隨機刪除
  volatile-ttl : 刪除即將到期的
  noeviction : 永不到期,返回錯誤
  maxmemory-samples 3 是說每次進行淘汰的時候 會隨機抽取3個key 從裡面淘汰最不經常使用的(預設選項)
```
# 資料盡量壓縮
# 盡量使用短的key
# 使用Hashes值儲存而不帶額外的資料元

 

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.