文章详情页
redis和memcached是不是存储多少空间就占多少内存?
问题描述
这些内存数据库都是把数据放到内存里,作为缓存的话,是不是存储多少内容就占用多少内存呢?
比如我的Linux服务器是2G内存的,那使用他们作为缓存数据库,就不能缓存超过2G的内容呢?
问题解答
回答1:不是存多少占用多少内存。
memcached的缓存机制memcached使用的是 Slab Allocation内存分配机制,可以看下这篇文章Memcached的数据存储方式这种机制有个缺点,将分配的内存分割成特定长度的块(chuck),例如:将70字节的数据存放到88字节的块,就造成了18字节的浪费
内存分配流程
redis 的有需要或后续再补上.
回答2:是的。因为它们是基于内存的数据库。
虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。
相关文章:
1. angular.js - angular参数问题2. angular.js - ionic该如何强制刷新页面3. angular.js - 怎么用angularjs做出下面的效果?4. angular.js - angularjs自定义指令作作用域触发问题5. angular.js - 公司网站在谷歌浏览器中识别不到输入的中文,输入的其它字符却可以识别出来6. angular.js - 用angular如何实现类似affix的效果7. angular.js - 后端基于JWT验证,Angular post 请求如何携带token?8. angular.js - 不适用其他构建工具,怎么搭建angular1项目9. android - xml的drawable作背景,是否会产生错误10. angular.js - angular 配置代理proxy.conf.json后报错,页面返回500internal server error?
排行榜