본문 바로가기

redis11

[Redis] BRPOPLPUSH Blocking 한 상태에서 tail의 값을 POP하고 POP 한 값을 다른 list 의 head에 PUSH 하는 함수 redis> RPUSH list1 1 2 3 (integer) 3 redis> BRPOPLPUSH list1 list2 0 "3" redis> LRANGE list1 0 -l 1) "3" 2012. 10. 22.
[Redis] BRPOP RLPOP와 반대로 list의 tail부터 가져오는 방법. 나머지는 BLPOP와 동일하다. redis> RPUSH list1 1 2 3 (integer) 3 redis> BRPOP list1 0 1) "list1" 2) "3" 2012. 10. 22.
[Redis] BLPOP Blocking 된 상태에서 list를 pop 하는 것을 말한다. LPOP의 blocking 버전이라고 할 수 있다. BLPOP가 호출이 되면, list의 헤더에 있는 key 값이 호출된다. redis> BLPOP list1 list2 list3 0 list1, list2, list3에 존재하는 키 값중 가장 먼저 쓰여진 list1에 저장된 키 값 하나를 pop 한다. list1에 값이 없다면 list2의 값을 pop 한다. 만약 list1, list2, list3 모두 값이 없다면 redis는 다른 client에서 해당 list에 값을 입력하기 전까지는 block 된다. ( 맨 마지막 0은 timeout 파라미터로써 0일 경우엔 INFINITE, 그 외엔 초단위의 타임 아웃 값을 가짐) redis> R.. 2012. 10. 22.
[Redis] BITOP 다중 키 사이의 비트연산을 위한 명령어. ex) BITOP AND destkey strkey1 strkey2 ... strkeyN BITOP OR destkey strkey1 strkey2 ... strkeyN BITOP XOR destkey strkey1 strkey2 ... strkeyN BITOP NOT destkey strkey 2.6 버전 이상에서만 동작! 난 2.4버전이라 테스트 해볼 수가 없네 ㅋ 2012. 10. 22.
[Redis] BITCOUNT 문자열의 비트열 집합을 세기 위한 명령어. redis> SET mykey "foobar" OK redis> BITCOUNT mykey (integer) 26 redis> BITCOUNT mykey 0 0 (integer) 4 redis> BITCOUNT mykey 1 1 (integer) 6 2.6 버전 이상에서만 동작! 2012. 10. 22.
[Redis] BGSAVE 백그라운드로 DB를 저장한다. OK code는 즉시 리턴된다. Redis는 fork를 호출하여 자식 프로세스를 만들고 자식 프로세스가 DB를 저장한 후 종료한다. 클라이언트는 동작이 성공했는지 여부를 체크하기 위해 LASTSAVE 명령어를 쓸 수 있다. 2012. 10. 22.
[Redis] BGREWRITEAOF AOF 동작을 실행한다. 지속성으로 파일에 로그를 남기는 방식. redis를 다시 시작할 때 남겨진 로그를 다시 구동시킴으로써 최신의 데이터를 유지할 수 있다. 일단 AOF라는 것이 무엇인지 알기 위해선 Redis 저장 방식을 알아야 한다. Redis Persistence - Redis는 데이터 Persistence를 제공하기 위해 RDB와 AOF 방식을 사용한다. - RDB는 dateset을 특정 시점에서 저장하도록 시행하는 방식이며, AOF는 서버로부터 계속해서 log를 남기고, 서버가 시작할 시, log에 남긴 명령어를 다시 시작하는 방법이다. 로그에 남겨진 명령어는 Redis Protocol과 동일한 포멧으로 남겨진다. - RDB는 설정 파일에서 SNAPSHOTTING 부분과 관련이 있으며, 저장.. 2012. 10. 22.
[Redis] auth auth command - 암호를 설정함으로써 redis server를 보호할 수 있다. redis는 클라이언트로부터 날아온 명령어를 수행하기 전에 암호를 요청할 수 있다. 이는 configuration file의 requirepass 항목을 설정함으로써 동작이 가능하다. redis> get mykey (error) ERR operation not permitted redis> auth 1111 OK redis> get mykey "12345678" 2012. 10. 22.
[Redis] APPEND APPEND command - 만약 key가 존재하고 문자열 값을 가진다면, APPEND 명령은 기존 문자열 끝부터 동작한다. 하지만 key가 존재하지 않거나 빈 문자열을 가지고 있다면 이는 SET 명령어와 동일한 동작을 하게 될 것이다 redis> EXISTS mykey (integer) 0 redis> APPEND mykey "Hello" (integer) 5 redis> APPEND mykey " World" (integer) 11 redis> GET mykey "Hello World" 2012. 10. 22.