redis和memcached是不是存储多少空间就占多少内存?

 昙檀禅潺_162 发布于 2022-10-25 09:02

这些内存数据库都是把数据放到内存里,作为缓存的话,是不是存储多少内容就占用多少内存呢?

比如我的Linux服务器是2G内存的,那使用他们作为缓存数据库,就不能缓存超过2G的内容呢?

2 个回答
  • 是的。因为它们是基于内存的数据库。

    虽然可以改造成利用磁盘缓存一部分数据,但这样做就失去它自身的意义了。

    2022-10-26 14:36 回答
  • 不是存多少占用多少内存。

    memcached的缓存机制
    memcached使用的是 Slab Allocation内存分配机制,可以看下这篇文章Memcached的数据存储方式
    这种机制有个缺点,将分配的内存分割成特定长度的块(chuck),例如:将70字节的数据存放到88字节的块,就造成了18字节的浪费

    内存分配流程

    redis 的有需要或后续再补上.

    2022-10-26 14:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有