आप इसे लुआ स्क्रिप्ट के साथ कर सकते हैं:
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 और फिर s SET करने की तुलना में बहुत अधिक सामान प्रतीत होता है, लेकिन एक बार जब आप स्क्रिप्ट लोड कर लेते हैं (और SHA1 को याद कर लेते हैं) तो आप इसे बार-बार पुन:उपयोग कर सकते हैं।