使用redis列表还是自定义列表?

问题描述 投票:0回答:1

我想为每个标识符都有一个状态和列表,我的问题是我应该为每个标识符实现带有状态和列表(自定义列表)的redis哈希,还是为状态和队列列表构建一个哈希并使用标识符作为名称空间,我的观点 使用 redis 列表是否有任何优化或好处,或者我可以使用散列内的自定义列表。 为了说明更多:

 'fw7qw8f6fqw7f' => { state: accpeted
                      my_list = [1 ,4]
                     }

 state:fw7qw8f6fqw7f => state: accpeted
 list:fw7qw8f6fqw7f => [1,4]  

两者都有效,但我问的是效率哪个更好

redis database-design queue backend
1个回答
0
投票

这取决于...

如果您需要进行列表操作,例如llen、lpush、lpop,必须将列表存储为 Redis LIST。如果不需要做这些操作,可以将其存储为HASH字段,即将列表存储为字符串。

LIST 方案比 HASH 方案消耗更多内存。特别是,当你的列表很小时,Redis 有一些神奇的编码可以大大减少内存使用。

此外,使用 HASH 解决方案,当您需要取回整个列表时,它应该比 LIST 解决方案更节省时间。后一种解决方案需要逐个迭代列表,而前者只是将列表作为字符串返回。

© www.soinside.com 2019 - 2024. All rights reserved.