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

redis 的有需要或后续再补上.
回答2:是的。因为它们是基于内存的数据库。
虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。
相关文章:
1. dockerfile - 为什么docker容器启动不了?2. android - WebView加载天猫等购物网页出问题?3. nignx - docker内nginx 80端口被占用4. javascript - vue错误提示 Cannot read property ’beforeRouteEnter’ of undefined5. 利用css3 translate来代替传统的修改left和top实现动画,触发webkit的GPU加速渲染功能实现流畅的动画效果6. mysql字段保存的字符串含有隐藏字符如何清除7. css - div设置float:left后高度设置自动会无效 ?8. docker-compose 为何找不到配置文件?9. docker gitlab 如何git clone?10. mysql - 请问有innodb 引擎的表导入900w 的数据,用了快9个小时。有什么快速的方法吗。正常是多少小时一般。
排行榜

网公网安备