文章详情页
redis和memcached是不是存储多少空间就占多少内存?
浏览:92日期:2024-07-09 17:00:25
问题描述
这些内存数据库都是把数据放到内存里,作为缓存的话,是不是存储多少内容就占用多少内存呢?
比如我的Linux服务器是2G内存的,那使用他们作为缓存数据库,就不能缓存超过2G的内容呢?
问题解答
回答1:不是存多少占用多少内存。
memcached的缓存机制memcached使用的是 Slab Allocation内存分配机制,可以看下这篇文章Memcached的数据存储方式这种机制有个缺点,将分配的内存分割成特定长度的块(chuck),例如:将70字节的数据存放到88字节的块,就造成了18字节的浪费
内存分配流程
redis 的有需要或后续再补上.
回答2:是的。因为它们是基于内存的数据库。
虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。
相关文章:
1. HTML表单操作标签调用父相对URL2. java - mac下配置ndk环境变量3. 为啥最大化个窗口还得找一堆理由?4. javascript - 根据不同数据显示不同内容5. css3 - 如图的flex骰子布局是怎么实现的?6. java - new + 类名,一定需要申明一个对象吗?7. node.js - 用nodejs 的node-xlsx模块去读取excel中的数据,可是读取出来的日期是数字,请问该如何读取日期呢?8. javascript - 解释下这种函数定义9. javascript - 在 vue里面用import引入js文件,结果为undefined10. css - psd设计稿给的是1920宽的,而我的电脑是1600宽的,那我在写代码时,是不是每个宽度都要计算调整
排行榜
