我需要为基于树的键值开发一个缓存系统(与Windows注册表编辑器非常相似)。
其中缓存键是字符串,表示树中到值的路径,可以是原始类型(int、string、bool、double 等)或子树本身。
例如 :
key = root\x\y\z\w , value = the whole subtree under w
key = root\x\y\z\w\t , value = integer
我想过使用 Redis 作为简单的缓存实现,但天真的键值会错过树层次结构的要点。
另外,以这种天真的方式,猜测我已经在缓存中了
key = root\x\y, value = the whole subtree under y
我正在寻找
key = root\x\y\z
尽管它已经存在于缓存中,但天真的键值不会找到它。
我能想到的最好的数据结构是前缀树(Trie),它可以更有效地处理键,并且可以轻松找到上面提到的子字符串的情况。
我还找不到任何可以处理这种数据结构的 Redis 实现。
Redis可以处理这种缓存吗?如果没有,还有其他结构可以使用吗?
Redis 还不做树。如果你必须在Redis中存储树状结构,我建议你看看http://rejson.io http://rejson.io.
或者,您可以开发一个 Redis 模块来执行您想要/需要的任何操作。
免责声明:我是 ReJSON 的作者之一。
xref: https://groups.google.com/d/msg/redis-db/ROSocq9sQ34/NmxeF0QFAQAJ https://groups.google.com/d/msg/redis-db/ROSocq9sQ34/NmxeF0QFAQAJ
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)