Можете да направите това със скрипт на Lua:
redis.call('SET', KEYS[2], redis.call('GET', KEYS[1])); return 1;
- KEYS1 е изходният ключ
- KEYS2 е целевият ключ
Примерът по-долу използва SCRIPT LOAD за създаване на скрипта и го извиква с помощта на EVALSHA, предавайки следните аргументи:
- SHA1 се върна от зареждането на скрипта
- 2 за броя ключове, които ще бъдат предадени
- Изходният ключ
- Целевият ключ.
Изход:
redis 127.0.0.1:6379> set src.key XXX
OK
redis 127.0.0.1:6379> get src.key
"XXX"
redis 127.0.0.1:6379> SCRIPT LOAD "redis.call('SET', KEYS[2], redis.call('GET', KEYS[1])); return 1;"
"1119c244463dce1ac3a19cdd4fda744e15e02cab"
redis 127.0.0.1:6379> EVALSHA 1119c244463dce1ac3a19cdd4fda744e15e02cab 2 src.key target.key
(integer) 1
redis 127.0.0.1:6379> get target.key
"XXX"
Изглежда, че е много неща в сравнение с просто да направите GET и след това да SET, но след като заредите скрипта (и запомните SHA1), тогава можете да го използвате многократно.