成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

redis和memcached是不是存儲多少空間就占多少內(nèi)存?

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

問題描述

這些內(nèi)存數(shù)據(jù)庫都是把數(shù)據(jù)放到內(nèi)存里,作為緩存的話,是不是存儲多少內(nèi)容就占用多少內(nèi)存呢?

比如我的Linux服務(wù)器是2G內(nèi)存的,那使用他們作為緩存數(shù)據(jù)庫,就不能緩存超過2G的內(nèi)容呢?

問題解答

回答1:

不是存多少占用多少內(nèi)存。

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

內(nèi)存分配流程

redis和memcached是不是存儲多少空間就占多少內(nèi)存?

redis 的有需要或后續(xù)再補(bǔ)上.

回答2:

是的。因為它們是基于內(nèi)存的數(shù)據(jù)庫。

雖然可以改造成利用磁盤緩存一部分?jǐn)?shù)據(jù),但這樣做就失去它自身的意義了。

相關(guān)文章: