redis記憶體優化

2021-10-04 22:03:33 字數 390 閱讀 4686

在資料量小或者只有int資料的時候,redis採用更緊湊的資料結構來儲存資料

zset/hash --> ziplist

set(int) --> intset

這些特殊的資料結構是一整塊記憶體,避免來記憶體分片,節省了記憶體,並且增加了cache命中,所以雖然演算法複雜度變成了on,但其實更快了

對於只需要flag的操作使用位掩碼是最合算的

如果乙個物件有n個屬性,不要使用n個key/value,使用乙個hash,帶n個field更合適

在key或者value裡面包含多個field,以節省key/value的數量

redis使用maclloc/free管理記憶體,這個記憶體不會馬上返回os,等待下次直接使用。所以乙個peak memory高的redis rss高是正常的

Redis 記憶體優化

非常感謝 redis內部有很多的資料型別,這些在官方文件上都可以看到,下面是其內部優化的一些細節點 1.string 和 數字,在redis中如果儲存的是 123 redis是能夠識別出來這是乙個數字並且按照數字來儲存,節省儲存空間,當然除了這個優化之外,redis內部會構建乙個數字池,預設是100...

Redis記憶體優化

redis可以當做記憶體使用,但是如果一直往裡儲存不刪除資料,則必然導致記憶體溢位.想法 如何可以實現記憶體資料的維護呢?可以讓使用者永遠都可以存資料.lru是least recently used的縮寫,即最近最少使用,是一種常用的頁面置換演算法,選擇最近最久未使用的頁面予以淘汰。該演算法賦予每個...

Redis筆記 記憶體優化

redis2.2版本及以後,儲存集合資料的時候會採用記憶體壓縮技術,以使用更少的記憶體儲存更多的資料。如hashes,lists,sets和sorted sets,當這些集合中的所有數都小於乙個給定的元素,並且集合中元素數量小於某個值時,儲存的資料會被以一種非常節省記憶體的方式進行編碼,使用這種編碼...