Redis持久化-RDB
127.0.0.1:6379> config get dir
1) "dir"
2) "/"
[root@master ~]# cd /
[root@master /]# ls
a boot dump.rdb home lib64 mnt proc run srv tmp var
bin dev etc lib media opt root sbin sys usr
127.0.0.1:6379> keys *
1) "fruits"
2) "scores-all3"
3) "20160601"
4) "a2"
5) "score-all1"
6) "k2"
7) "k3"
8) "hash1"
9) "b6"
10) "list1"
11) "b4"
12) "b2"
13) "k4"
14) "20160606"
15) "b3"
16) "k6"
17) "set4"
18) "20160602"
19) "r3"
20) "r2"
21) "20160601-10"
22) "scores-all"
23) "r4"
24) "r1"
25) "scores1"
26) "scores-all2"
27) "score-all3"
28) "k1"
29) "score2"
30) "set3"
31) "k5"
32) "set1"
33) "b5"
34) "b1"
35) "u500"
36) "list2"
37) "scores-all1"
38) "a1"
39) "set5"
40) "set2"
127.0.0.1:6379> type fruits
zset
127.0.0.1:6379> zrange fruits 0 -1
1) "\xe8\xa5\xbf\xe7\x93\x9c"
2) "\xe6\xa2\xa8\xe5\xad\x90"
127.0.0.1:6379> zrange fruits 0 -1 withscores
1) "\xe8\xa5\xbf\xe7\x93\x9c"
2) "2"
3) "\xe6\xa2\xa8\xe5\xad\x90"
4) "7"
[root@master /]# systemctl stop redis
[root@master /]# systemctl start redis
[root@master /]# mv dump.rdb dump.rdb.bak
[root@master /]# ls
a dev home media proc sbin tmp
bin dump.rdb.bak lib mnt root srv usr
boot etc lib64 opt run sys var
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> zrange fruits 0 -1 withscores
1) "\xe8\xa5\xbf\xe7\x93\x9c"
2) "2"
3) "\xe6\xa2\xa8\xe5\xad\x90"
4) "7"
[root@master /]# ps -aux | grep redis
root 66088 0.0 0.4 25056 7824 pts/0 S+ 19:10 0:00 redis-cli
root 66657 0.1 0.5 162508 9924 ? Ssl 20:04 0:00 /usr/local/soft/redis/bin/redis-server 0.0.0.0:6379
root 66691 0.0 0.0 112824 988 pts/1 S+ 20:08 0:00 grep --color=auto redis
[root@master /]# kill -9 66657
[root@master /]# ls
a dev home media proc sbin tmp
bin dump.rdb.bak lib mnt root srv usr
boot etc lib64 opt run sys var
[root@master /]# systemctl start redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> zrange fruits 0 -1 withscores
(empty array)
127.0.0.1:6379> keys *
(empty array)
[root@master /]# ls
a dev home media proc sbin tmp
bin dump.rdb.bak lib mnt root srv usr
boot etc lib64 opt run sys var
[root@master /]# ps -aux | grep redis
root 66088 0.0 0.4 25056 7824 pts/0 S+ 19:10 0:00 redis-cli
root 66727 0.1 0.5 162508 9824 ? Ssl 20:10 0:00 /usr/local/soft/redis/bin/redis-server 0.0.0.0:6379
root 66766 0.0 0.0 112824 984 pts/1 S+ 20:14 0:00 grep --color=auto redis
[root@master /]# kill -9 66727
[root@master /]# mv dump.rdb.bak dump.rdb
[root@master /]# ls
a boot dump.rdb home lib64 mnt proc run srv tmp var
bin dev etc lib media opt root sbin sys usr
[root@master /]# systemctl start redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> keys *
1) "score2"
2) "20160606"
3) "r1"
4) "a2"
5) "20160601"
6) "20160602"
7) "fruits"
8) "k2"
9) "b1"
10) "score-all1"
11) "b6"
12) "a1"
13) "k1"
14) "list1"
15) "b3"
16) "u500"
17) "r4"
18) "set4"
19) "hash1"
20) "set3"
21) "scores-all1"
22) "b2"
23) "20160601-10"
24) "b4"
25) "k3"
26) "scores1"
27) "k4"
28) "r3"
29) "score-all3"
30) "scores-all"
31) "k5"
32) "r2"
33) "set2"
34) "list2"
35) "b5"
36) "set5"
37) "set1"
38) "k6"
39) "scores-all2"
40) "scores-all3"
[root@master redis]# systemctl stop redis
127.0.0.1:6379> set kkkkkkk2 v2
Error: Server closed the connection
127.0.0.1:6379> ping
Could not connect to Redis at 127.0.0.1:6379: Connection refused
[root@master redis]# systemctl start redis
not connected> ping
PONG
127.0.0.1:6379> get kkkkkkk2
(nil)
127.0.0.1:6379> keys k*
1) "k2"
2) "k4"
3) "k6"
4) "k5"
5) "k1"
6) "k3"
127.0.0.1:6379> set kkkkkk1 v1
OK
127.0.0.1:6379> save
OK
[root@master redis]# ps -aux | grep redis
root 66088 0.0 0.4 25056 7852 pts/0 S+ 19:10 0:00 redis-cli
root 66972 0.1 0.5 162644 10320 ? Ssl 20:28 0:00 /usr/local/soft/redis/bin/redis-server 0.0.0.0:6379
root 67010 0.0 0.0 112824 988 pts/1 S+ 20:32 0:00 grep --color=auto redis
[root@master redis]# kill -9 66972
127.0.0.1:6379> ping
Error: Server closed the connection
[root@master redis]# systemctl start redis
127.0.0.1:6379> keys k*
1) "k2"
2) "k4"
3) "k6"
4) "k1"
5) "k3"
6) "k5"
7) "kkkkkk1"
Redis持久化-AOF
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> keys *
(empty array)
127.0.0.1:6379[15]> select 0
OK
127.0.0.1:6379> keys *
1) "scores1"
2) "set5"
3) "u500"
4) "scores-all3"
5) "scores-all2"
6) "k2"
7) "b1"
8) "b3"
9) "b4"
10) "20160601-10"
11) "k4"
12) "scores-all1"
13) "20160602"
14) "a1"
15) "list2"
16) "20160606"
17) "hash1"
18) "fruits"
19) "set1"
20) "k6"
21) "score2"
22) "r4"
23) "b6"
24) "20160601"
25) "set2"
26) "r2"
27) "scores-all"
28) "b5"
29) "set3"
30) "k1"
31) "r3"
32) "set4"
33) "r1"
34) "a2"
35) "score-all3"
36) "k3"
37) "b2"
38) "k5"
39) "kkkkkk1"
40) "score-all1"
41) "list1"
原有AOF文件 | 重写后的AOF文件 |
SELECT 0 | SELECT 0 |
SADD fruits “apple” | SADD fruits “apple” “banana” “cherry” |
SADD fruits “banana” | SET msg “hello world again!” |
SADD fruits “cherry” | RPUSH lst 3 5 7 |
SADD fruits “apple” | |
INCR counter | |
INCR counter | |
DEL counter | |
SET msg “hello world” | |
SET msg “hello world again!” | |
RPUSH lst 1 3 5 | |
RPUSH lst 7 | |
LPOP lst |
[root@master redis]# vim redis.conf
[root@master redis]# systemctl restart redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> set c 3
OK
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> del b
(integer) 1
127.0.0.1:6379> del c
(integer) 1
127.0.0.1:6379> set b 10
OK
[root@master redis]# cd /
[root@master /]# ls
a boot etc lib64 opt run sys var
appendonly.aof dev home media proc sbin tmp
bin dump.rdb lib mnt root srv usr
[root@master /]# cd ~
[root@master ~]# find / -name "appendonly.aof"
/appendonly.aof
[root@master ~]# find / -name "redis.conf"
/usr/local/soft/redis-6.2.6/redis.conf
/usr/local/soft/redis/redis.conf
[root@master ~]# cd /
[root@master /]# vim appendonly.aof