文章詳情頁
redis和memcached是不是存儲多少空間就占多少內存?
瀏覽:103日期:2024-07-09 17:00:25
問題描述
這些內存數據庫都是把數據放到內存里,作為緩存的話,是不是存儲多少內容就占用多少內存呢?
比如我的Linux服務器是2G內存的,那使用他們作為緩存數據庫,就不能緩存超過2G的內容呢?
問題解答
回答1:不是存多少占用多少內存。
memcached的緩存機制memcached使用的是 Slab Allocation內存分配機制,可以看下這篇文章Memcached的數據存儲方式這種機制有個缺點,將分配的內存分割成特定長度的塊(chuck),例如:將70字節的數據存放到88字節的塊,就造成了18字節的浪費
內存分配流程
redis 的有需要或后續再補上.
回答2:是的。因為它們是基于內存的數據庫。
雖然可以改造成利用磁盤緩存一部分數據,但這樣做就失去它自身的意義了。
相關文章:
1. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。2. php傳對應的id值為什么傳不了啊有木有大神會的看我下方截圖3. 如何用筆記本上的apache做微信開發的服務器4. python - linux怎么在每天的凌晨2點執行一次這個log.py文件5. 關于mysql聯合查詢一對多的顯示結果問題6. 冒昧問一下,我這php代碼哪里出錯了???7. windows誤人子弟啊8. mysql優化 - MySQL如何為配置表建立索引?9. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)10. 實現bing搜索工具urlAPI提交
排行榜
