Redis優化總結

2022-07-08 18:00:17 字數 1375 閱讀 7151

# 注意在redis.conf中的小聚合資料型別的特殊編碼設定(

```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使用優化總結學習

在redis的使用中,因為其是單程序在執行,所有在實際使用的過程中因為實際情況可能經常需要進行優化。所以,蒐集了資料學習總結下。1,redis中主要的儲存方式key value模型的儲存方式,在其內部提供了多種的資料型別,可根據實際的情況使用對用的結構型別。目前發現在實際情況,基本上都是用的hash...

Redis 記憶體優化理解和儲存總結

1.redis 儲存機制 redis儲存機制分成兩種snapshot 和 aof。無論是那種機制,redis都是將資料儲存在記憶體中。snapshot工作原理 是將資料先儲存在記憶體,然後當資料累計達到某些設定的伐值的時候,就會觸發一次dump操作,將變化的資料一次性寫入資料檔案 rdb檔案 aof...

Redis資料匯入工具優化過程總結

使用c 開發了乙個redis資料匯入工具 從oracle中將所有表資料匯入到redis中 不是單純的資料匯入,每條oracle中的原有記錄,需要經過業務邏輯處理,並新增索引 redis集合 工具完成後,效能是個瓶頸 使用了2個樣本資料測試 樣本資料a表8763 條記錄 b表940279 條記錄 優化...