Is there any quick command in REDIS which allows me to do the following
I want to set the Value of key Y equal to the value of Key X .
How do I go about doing this from the Redis Client .
I use the standard Redis-cli client .
Basically I am looking for some equivalent of the following -
Y.Val() = X.Val()
You can do this with a Lua script:
The example below uses SCRIPT LOAD to create the script and invokes it using EVALSHA passing the following arguments:
Output:
It does appear to be a lot of stuff compared to simply doing a GET and then s SET, but once you've loaded the script (and memorized the SHA1) then you can reuse it repeatedly.
If you dont want script loading then below will work as a single command.
Note that key1 value should be already set else you will get the below error
So check like below and set
Now it will work.
If you want copy map to another new map key
One more way is while inserting time itself you can insert the value to two keys using MSET.
Ofcource this will not solve the issue of copying when the key is already created.
Also note that there is no way in redis more than one key is referring the same value object. All these workaround will create duplicate value objects. So if one of the value is updated will not reflect in another value object.
No, there is no quick command to do this. You have to
GET
the value of the source key, and thenSET
the value of the new key.Source: http://redis.io/commands#string