jedis—在redis中存储< integer,integer>kvp的最佳方法,用于按键和值查找

cgyqldqp  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(308)

我想为我自己的内部整数ID和外部系统ID存储Map。例如,我可能有以下数据:

MySystemInteger: 3, ExternalSystemInteger: 5
MySystemInteger: 8, ExternalSystemInteger: 1
MySystemInteger: 4, ExternalSystemInteger: 2

我希望能够为特定的externalsysteminteger值获取mysysteminteger,并为特定的mysysteminteger值获取externalsysteminteger。
我做了一些研究,虽然redis的keys功能可以让我在一个键空间中搜索特定的值,但是keys会遍历整个键空间来找到匹配项。由于redis是单线程的,因此在该进程运行时,对所有数据库的访问都将被阻止。
有什么好办法吗?或者我必须存储两个数据集?其中mysysteminteger是键,externalsysteminteger是键?谢谢

ia2d9nvy

ia2d9nvy1#

执行 KEYS 在生产中是有风险的,正如redis文档中提到的,它可能会毁了。在这种情况下,您可以使用哈希; hset pair my:1 ext:7 hset pair ext:7 my:1 hget pair ext:7 退货
my:1 hget pair my:1 退货 ext:7 如果你想你可以用 hmset 在设置这两个散列字段时。将它们存储在不同的散列中也是另一种选择。

相关问题