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

redis 的有需要或后续再补上.
回答2:是的。因为它们是基于内存的数据库。
虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。
相关文章:
1. mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?2. 前端 - 提问关于background-image不显示的问题3. javascript - 在top.jsp点击退出按钮后,right.jsp进行页面跳转,跳转到login.jsp4. javascript - 如何在外部点击,跳转到网页后,显示指定的模块。5. 使用未定义的常量user_id-假定为“user_id”6. css - 关于background-position百分比的问题?7. atom开始输入!然后按tab只有空格出现没有html格式出现8. 看不懂你这一步的操作9. mysql - 记录开始时间和结束时间,表字段类型用timestamp还是datetime?10. 这个java项目有一个首页地址是微信前台的,这个所谓的微信前台指的是什么?
排行榜

网公网安备