Redis持久化(八)

Redis特性:
(1)多数据库
(2)Redis事物
(3)一个Redis最多可提供16个数据库,下标【0-15】

选择数据库:
select 1 (选择1号数据库,默认连接的是0号数据库)
移动数据库中的key:
move myset 1 (把关键字为myset的移动到1当中)
事物中只有一个客户运行,客户被串行话
(1)开启事务:multi
(2)提交事务:exec 网络故障或其他原因,没执行它之前的命令都不会被提交,但是,exec在网络断开或其他故障前执行,那么,提交就会执行。

(3)回滚事务:discard

事例:
窗口A执行
set num 1
multi
incr num
incr num
直到使用
exec
窗口B
执行
get num (num数值才会有变化)


Redis持久化
redis之所以高性能,是因为它把一切都存储在内存当中,为了使redis重启之后,仍然能保存之前存储的数据,就需要把数据从内存当中同步到硬盘上,这个过程称之为持久化。
持久化方式:
(1)(单独使用)RDB(默认):按照一定时间频率将内存中的数据或者快照保存到磁盘
(2)(单独使用)AOF:通过日志方式,记录服务器操作方式,启动服务器时,就会读取日志,重新构建数据库,保证数据是完整的
(3)无持久化:配置禁用持久化,达到缓存效果
(4)RDB与AOF共用
(5)持久化方法可以使用一个种或者两种结合的方式进行存储。

RDB:
优点:
(1)可将数据库保存在一个文件上,便于备份,可以很好的恢复数据。
(2)可方便移植
(3)性能最大化,分出小的进程,再由小进程执行,可开启小的进程处理持久化操作
缺点:
(1)不能保证数据完整性,最大数据的完整性,数据易丢失。
(2)当数据过大,服务器会停止,进程处理将会延迟几百到一千毫秒

配置过程:
(1)编辑redis.conf文件:vim redis.conf

save 900 1
每15分钟至少又一个key发生变化,会快照一次,写一次
save 300 10

save 60 10000

dbfilename 保存的文件
dir ./ 保存的文件路径

(2)找到时间戳,可配置秒、分、时与之存储量
(3)rdb文件默认保存在redis安装目录

AOF
优点:
(1)同步写入频率高
(2)不破坏写入日志数据
(3)当数据过大,可启动修改重写机制,保证修改数据的更新
(4)日志文件格式清晰,易于理解,可以通过这样进行重建数据
缺点:
(1)效率低低于RDB,修改就存在硬盘上的,同步方式降低了效率。
(2)文件偏大与rdb文件

配置过程:
(1)编辑redis.conf:vim redis.conf
(2)找到 appendonly no 修改为 yes (改为使用AOF方式)
修改策略
appendfsync always(为了数据安全,去除它的注解)
设置好两个配置后,执行
./bin/redis-cli
shutdown
重启sever
./bin/redis-server ./redis.conf
窗口A:
插入数据:
set name a
set age 10
flushall
窗口B:
执行:
./bin/redis-cli shutdown
编辑:
vim appendonly.aof
删除最后一行的flushall 保存

窗口A:
重启sever
./bin/redis-server ./redis.conf

进入客户端:
./bin/redis-cli
查看:
keys *
数据还原了。

 

posted @ 2017-07-02 16:21  北极的大企鹅  阅读(146)  评论(0编辑  收藏  举报
阅读 - 79万