RDB 파일 분석 도구
설치
git clone https://github.com/sripathikrishnan/redis-rdb-tools.git
sudo pip install --upgrade pip
sudo pip install python-lzf
n 인 키 시작 분석
rdb --command justkeyvals --key "n*" /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb
[kou@python ~]$ od -c /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb
0000000 R E D I S 0 0 0 6 376 \0 \0 004 n a m
0000020 e 005 h o d g e 377 004 | 313 025 = G % 310
0000040
JSON 형식으로 출력한다 파싱
[kou@python ~]$ rdb --command json /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb
[{
"name":"hodge"}]
데이터베이스, 종류, 형식, 키를 지정합니다
rdb -c json --db 2 --type hash --key "a.*"
보고서 생성 메모리
[kou@python ~]$ rdb -c memory /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb
database,type,key,size_in_bytes,encoding,num_elements,len_largest_element,expiry
0,string,name,56,string,5,5,
단일 결합에 의해 사용되는 메모리를 찾기
redis-memory-for-key -s localhost -p 6379 -a mypassword person:1
레디 스 프로토콜 스트림 프로토콜에 RDB 파일
rdb --c protocol
당신은 netcat을에 파이프를 수출하고 데이터의 하위 집합으로 재 도입 할 수 있습니다. 데이터 레디 스 개의 인스턴스로 세분화 될 경우, 예를 들어, 서브 - 키를 플래그 데이터를 선택하기 위해 사용하고, 그 데이터를로드하기 위해 실행중인 인스턴스 레디 스 출력을 통과 할 수있다. 자세한 내용은 레디 스 대량 삽입을 참조하십시오.
출력 프로토콜을 인쇄하는 경우는 인쇄 옵션 또는 인쇄 불가능 UTF8 않도록 사용 / 제어 문자 -escape 함께 사용될 수있다.
RDB 파일을 비교
> rdb --command diff /var/redis/6379/dump1.rdb | sort > dump1.txt
> rdb --command diff /var/redis/6379/dump2.rdb | sort > dump2.txt
然后,运行您喜欢的差异程序
> kdiff3 dump1.txt dump2.txt
결과
[kou@python ~]$ rdb --command justkeyvals --key "n*" /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb
name hodge