文章详情页
redis和memcached是不是存储多少空间就占多少内存?
浏览:203日期:2024-07-09 17:00:25
问题描述
这些内存数据库都是把数据放到内存里,作为缓存的话,是不是存储多少内容就占用多少内存呢?
比如我的Linux服务器是2G内存的,那使用他们作为缓存数据库,就不能缓存超过2G的内容呢?
问题解答
回答1:不是存多少占用多少内存。
memcached的缓存机制memcached使用的是 Slab Allocation内存分配机制,可以看下这篇文章Memcached的数据存储方式这种机制有个缺点,将分配的内存分割成特定长度的块(chuck),例如:将70字节的数据存放到88字节的块,就造成了18字节的浪费
内存分配流程

redis 的有需要或后续再补上.
回答2:是的。因为它们是基于内存的数据库。
虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。
相关文章:
1. javascript - 关于数组的循环遍历问题2. javascript - 正则匹配字符串特定语句后的数字3. javascript - 请指条明路,angular的$event,在select中却是undefined?4. java 线程池序号一直增加问题5. python - Pycharm调试代码进行列表遍历时,如何直接赋值指定元素6. 在cmd下进入mysql数据库,可以输入中文,但是查看表信息,不显示中文,是怎么回事,怎新手,请老师7. python - 有一个函数名(字符串形式),如何能够调用这个函数?8. mysql优化 - mysql 多表联合查询,求一个效率最高的查询9. navicat与MYSQL5.7搭配问题10. MySQL客户端吃掉了SQL注解?
排行榜

网公网安备