Redis 的数据库大小与内存的比例是多少?
例如,如果我有一个 80MB 的数据库,Redis 将使用多少 RAM(与普通 Web 应用程序一起使用时)?
Redis 将使用比磁盘更多的 RAM。转储文件格式可能更密集一些。这是来自真实生产系统的一些数字(在 Ubuntu 10.04 上运行 Redis 2.0.4 的 64 位 EC2 大型实例):
$ redis-cli info | grep used_memory_human
used_memory_human:1.36G
$ du -sh /mnt/data/redis/dump.rdb
950M /mnt/data/redis/dump.rdb
如您所见,转储文件比内存使用量小几百兆。
最后,这取决于您在数据库中存储的内容。我的主要是散列,只有少数(可能不到 1%)组。没有一个键包含非常大的对象,平均对象大小为 889 字节。
Redis 数据库存储在内存中,因此 80mb 的数据库将占用 80mb 的内存。
Redis 是一个内存极低的使用程序,您可以从网站“1百万个键,键是从 0 到 999999 的自然数和字符串“Hello World”作为值的这个例子中看到,使用 100MB [Ram] ”。我的 Redis 应用程序使用大约 300kb 到 500kb 的内存,因此您需要大量数据才能访问 80mb 的数据库。Redis 还将数据库的快照保存到磁盘,因此 80mb 在内存中,80mb 在硬盘上。