使用redis,我需要创建一个多图(在C ++中 - esque类型a:Map<String, Set<String>>
- 但由于redis不支持嵌套数据结构,我将不得不破解一些东西。
一种显而易见的方法是使用普通的redis集,但动态创建密钥。所以,如果我存储:
K1 -> V1, V2, V3
K2 -> V4
K3 -> V5,V6
这意味着我要创建3个不同的集合(mm:k1
,mm:k2
和mm:k3
)...并且可能是第4集,以跟踪帐户的密钥保持目的。
这会对我产生反作用吗(在性能方面)还是有更好的方法来创建多图?
答案 0 :(得分:0)
Redis提供哈希数据结构,这是一个键值对,您可以巧妙地使用它来针对单个键存储多个值。 像:
key - {v1, v2, v3}
将您的字符串序列序列化为单个值,并将其存储在redis哈希值中。
使用redis哈希,您可以获取键的所有值,并一次性设置所有值。 但是,您无法获取/更新/插入针对密钥存储的集合中的特定值