Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Redis中高效重命名哈希字段_Redis - Fatal编程技术网

如何在Redis中高效重命名哈希字段

如何在Redis中高效重命名哈希字段,redis,Redis,我可以HGET mykey oldfield并在我的应用程序中存储值,并且执行HSET newfield值,在使用哈希时如何避免像RENAMENX key newkey一样复制我的值? 谢谢。没有特定的命令来执行此操作,但您可以使用服务器端Lua脚本以原子方式执行以下操作: hget键域 hsetnx键新字段值 如果成功,请输入hdel键字段 您只需支付一次往返费用,并且可以处理错误(当新字段确实存在时)。在Redis中无法重命名哈希。正如@DidierSpezia所说,最快/最好的方法是使

我可以
HGET mykey oldfield
并在我的应用程序中存储
,并且执行
HSET newfield值
,在使用哈希时如何避免像
RENAMENX key newkey
一样复制我的值?
谢谢。

没有特定的命令来执行此操作,但您可以使用服务器端Lua脚本以原子方式执行以下操作:

  • hget键域
  • hsetnx键新字段值
  • 如果成功,请输入hdel键字段

您只需支付一次往返费用,并且可以处理错误(当新字段确实存在时)。

在Redis中无法重命名哈希。正如@DidierSpezia所说,最快/最好的方法是使用Lua脚本。非常感谢,我似乎必须将我的Redis升级到2.6,:P