我想为我自己的内部整数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是键?谢谢
1条答案
按热度按时间ia2d9nvy1#
执行
KEYS
在生产中是有风险的,正如redis文档中提到的,它可能会毁了。在这种情况下,您可以使用哈希;hset pair my:1 ext:7
hset pair ext:7 my:1hget pair ext:7
退货my:1
hget pair my:1
退货ext:7
如果你想你可以用hmset
在设置这两个散列字段时。将它们存储在不同的散列中也是另一种选择。