文章详情页
redis和memcached是不是存储多少空间就占多少内存?
浏览:205日期: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. 关于docker下的nginx压力测试3. docker镜像push报错4. debian - docker依赖的aufs-tools源码哪里可以找到啊?5. docker内创建jenkins访问另一个容器下的服务器问题6. docker start -a dockername 老是卡住,什么情况?7. docker-machine添加一个已有的docker主机问题8. golang - 用IDE看docker源码时的小问题9. nignx - docker内nginx 80端口被占用10. macos - mac下docker如何设置代理
排行榜

网公网安备