任何区别是REDIS使用了多少内存

时间:2018-08-27 06:20:23

标签: redis

想象一下REDIS-SERVER的以下两种情况:

(A)redis-cli>设置“名字lastname.AT.emailaddress.dot.com”“ 1”

(B)redis-cli> setbit“名字lastname.AT.emailaddress.dot.com” 1 1

如果一百万个不同的密钥与客户名称/电子邮件一起存储。 用例是我想检查记录是否存在, 所以 如果是(A)

redis-cli>获得“名字lastname.AT.emailaddress.dot.com”

来自REDIS的

回复为> 1

在(B)情况下

redis-cli> getbit“名字lastname.AT.emailaddress.dot.com” 1

来自REDIS的

回复为> 1

问题:

如果将全部一百万个键/值对都保留在内存中以进行查询,那么REDIS使用的内存量是否会有所不同?

1 个答案:

答案 0 :(得分:2)

您应该使用解决方案A 。由于Redis对小整数具有特殊的编码,因此它更有意义,并且占用的内存更少。对于您来说,值部分,即“ 1” ,不会花费额外的内存。

另外,另一种解决方案是使用SET保存这些名称/电子邮件对:使用SADD name-email "firstname lastname.AT.emailaddress.dot.com"添加记录,并使用SISMEMBER name-email "firstname lastname.AT.emailaddress.dot.com"检查是否存在。