我想运行HSET命令,但前提是密钥存在。类似于HSETNX除了exists而不是not exists
我读过有关使用 WATCH 或其他东西的内容,但到目前为止我还无法真正弄清楚。我希望能朝正确的方向推动。我唯一看到的是这个,但考虑到这些甚至不是有效的 redis 命令,我不知道这是如何工作的。
另外,在阅读了有关 WATCH 的内容后,我很担心,因为我不想在收到另一个请求时中止事务。
我基本上尝试 HGETALL 并在发出第二个 HSET 命令后立即表示它已被读取一次。
之后,我希望所有后续请求都知道它已被读取。
问题是,当我对不存在的键调用 HSET 时,它不仅会失败,还会在 redis 数据库中创建一个新条目,这是我不想要的。我只希望它更新记录(如果存在),而不必先检查它是否存在
据此,该方法对于高争用无论如何都不起作用(将会有很多对密钥的请求)
https://github.com/antirez/redis/issues/441
它说我可以以某种方式使用脚本,但我不确定
redis ×1