您的位置:首頁技術文章
文章詳情頁

redis和memcached是不是存儲多少空間就占多少內存?

瀏覽:91日期:2024-07-09 17:00:25

問題描述

這些內存數據庫都是把數據放到內存里,作為緩存的話,是不是存儲多少內容就占用多少內存呢?

比如我的Linux服務器是2G內存的,那使用他們作為緩存數據庫,就不能緩存超過2G的內容呢?

問題解答

回答1:

不是存多少占用多少內存。

memcached的緩存機制memcached使用的是 Slab Allocation內存分配機制,可以看下這篇文章Memcached的數據存儲方式這種機制有個缺點,將分配的內存分割成特定長度的塊(chuck),例如:將70字節的數據存放到88字節的塊,就造成了18字節的浪費

內存分配流程

redis和memcached是不是存儲多少空間就占多少內存?

redis 的有需要或后續再補上.

回答2:

是的。因為它們是基于內存的數據庫。

雖然可以改造成利用磁盤緩存一部分數據,但這樣做就失去它自身的意義了。

相關文章:
国产综合久久一区二区三区