redis和memcached是不是儲存多少空間就佔多少記憶體?
ringa_lee
ringa_lee 2017-04-27 09:02:23
0
2
869

這些記憶體資料庫都是把資料放到記憶體裡,當作快取的話,是不是儲存多少內容就佔用多少記憶體呢?

例如我的Linux伺服器是2G記憶體的,那使用他們作為快取資料庫,就不能快取超過2G的內容呢?

ringa_lee
ringa_lee

ringa_lee

全部回覆(2)
某草草

不是存多少佔用多少記憶體。

memcached的快取機制
memcached使用的是Slab Allocation記憶體分配機制,可以看下這篇文章Memcached的資料儲存方式
這種機制有個缺點,將分配的記憶體分割成特定長度的區塊(chuck),例如:將70位元組的資料存放到88位元組的區塊,就造成了18位元組的浪費

記憶體分配流程

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

给我你的怀抱

是的。因為它們是基於記憶體的資料庫。

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!