Redis是这款车型的正确选择

时间:2012-07-25 21:35:22

标签: database-design redis

我有以下型号:

| string (unique key) | about 10 other strings, that have all a fixed length and may be empty |

常见查询是使用'唯一键并查看其他字符串'。使用Redis应该没问题。

但另一个问题是'向我显示列n为空的键'。我不确定Redis是否可以处理这个高性能!?

1 个答案:

答案 0 :(得分:1)

要在redis中解决此问题,您需要维护一些元数据。一种解决方案是为每个“列”添加一个集类型键,该列将保存“列”为空的所有元素的唯一键。显然,在应用程序逻辑中,当您在主哈希中添加和删除值时,您将需要从这些集中添加和删除唯一键。这将非常快,因为设置操作saddsremsismember对于单个项目都是O(1)(即,与集合的大小不成比例)。要获取“列”为空的所有键,您可以使用smembers。至少,这就是我解决类似问题的方法。

(我在redis模型中放置了引号,它们将是哈希字段,而不是您在RDBMS中考虑它们的列)