我有以下型号:
| string (unique key) | about 10 other strings, that have all a fixed length and may be empty |
常见查询是使用'唯一键并查看其他字符串'。使用Redis应该没问题。
但另一个问题是'向我显示列n为空的键'。我不确定Redis是否可以处理这个高性能!?
答案 0 :(得分:1)
要在redis中解决此问题,您需要维护一些元数据。一种解决方案是为每个“列”添加一个集类型键,该列将保存“列”为空的所有元素的唯一键。显然,在应用程序逻辑中,当您在主哈希中添加和删除值时,您将需要从这些集中添加和删除唯一键。这将非常快,因为设置操作sadd
,srem
和sismember
对于单个项目都是O(1)(即,与集合的大小不成比例)。要获取“列”为空的所有键,您可以使用smembers
。至少,这就是我解决类似问题的方法。
(我在redis模型中放置了引号,它们将是哈希字段,而不是您在RDBMS中考虑它们的列)