[Redis] Copy Key

개발/Redis 2016. 6. 11. 00:34
반응형

Redis에는 기본적으로 특정 key를 다른 key로 copy하는 기능이 없다.


Copy a b 이런거?? 


그래서 이걸 하기 위해서는 아래와 같이 dump, restore 명령어를 이용해야 하는데

데이터가 많아지는 경우 해당 key에 lock이 걸려서 서비스에 영향이 있을 수 있으므로

어느정도 데이터의 량을 파악한 후에 문제가 없다고 판단하면 사용하는게 맞을 것 같다.


# dump명령어를 이용해서 key1에 있는 데이터를 dump파일로 뽑는다.

redis-cli -p 6379 -a {패스워드가 있는 경우 패스워드} dump key1 > key1.dump


# 뽑은 dump파일을 뽑는데 dump로 뽑으면 기본적으로 맨 뒤에 \n이 붙는다고한다. 

# 그래서 이것을 head -c -1 명령어로 제거한 후에 restore한다.

cat key1.dump | head -c-1 | redis-cli -p 6379 -a {패스워드} -x restore key2 0


\n을 지우지 않고 그대로 넣게되면

(error) ERR DUMP payload version or checksum are wrong 이런 에러가 발생한다.

반응형

'개발 > Redis' 카테고리의 다른 글

[PHPRedmin] Windows 세팅  (0) 2016.06.11
[Redis] 3.0.2 Cluster 구성  (0) 2016.06.11
[Jedis] Cluster Configuration  (0) 2016.06.11
[Redis Cluster] FailOver 테스트  (0) 2016.06.11
,