在Redis中,所有哈希键是否都存储在同一个"表"中?如果是,它会对性能产生什么影响?

7
观察这个例子http://redis.io/topics/twitter-clone,其中用户记录是通过使用哈希键("uid:1000")存储的,而“推文”则是通过哈希键("post:60")存储的。这是否意味着所有这些记录都存储在同一个数据结构中,添加推文将影响检索用户记录所需的时间?

Redis是一种先进的键值存储系统。因此,它不像关系型数据库那样在“表”中存储数据。相反,它将每个键与其包含的数据一起存储在给定的编号/条目下。 - Hajo
正因为如此,在标题周围才有分号。 - user971956
1个回答

16

是的,用户和推文被存储在同一个数据结构中。该数据结构是一个哈希表

Redis内部没有记录类型的概念。对于Redis来说,User:1000Post:60 只是一串字节。所以,是的,Redis确实将所有记录都存储在同一个数据结构中。

因为Redis不区分推文和用户,所以两种记录类型的响应时间会相似。

所以,一切都归结为一个问题——“Redis的性能是否随记录数量扩展?”

答案是肯定的,是的。只要您有足够的内存来保存所有数据,Redis的性能就不应该依赖于记录数量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接