Redis:数据库大小与内存比率?

时间:2011-01-19 04:53:24

标签: database memory redis ram

Redis的数据库大小与内存比率是多少?

例如,如果我有一个80MB的数据库,Redis将使用多少RAM(与普通的Web应用程序一起使用时)?

2 个答案:

答案 0 :(得分:24)

Redis将使用比磁盘更多的RAM。 dumpfile格式可能更密集。这是来自真实生产系统的一些数字(在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

如您所见,dumpfile比内存使用量小几百兆。

最后,它取决于您在数据库中存储的内容。我的主要是哈希,只有少数(可能不到1%)。没有任何键包含非常大的对象,平均对象大小为889字节。

答案 1 :(得分:-3)

Redis数据库存储在内存中,因此80mb的数据库占用80mb的内存。

Redis是一个极低内存使用程序,你可以从网站上看到这个例子“1百万个密钥,密钥是从0到999999的自然数字,字符串”Hello World“作为值使用100MB [拉姆]“。我的Redis应用程序使用大约300kb到500kb的RAM,因此您需要大量数据才能到达80mb的数据库。 Redis还保存到数据库的磁盘快照,因此硬盘驱动器为80mb,硬盘驱动器为80mb。