hadoop正式学习之redis------redis的学习和操作2
来源:互联网 发布:装修设计软件 编辑:程序博客网 时间:2024/06/06 20:10
redis持久化(persistence)
redis支持两种方式的持久化,可以单独使用或者结合起来使用
第一种:RDB方式(redis默认的持久化方式)
第二种:AOF方式
1:redis持久化之RDB
rdb方式的持久化是通过快照完成的,当符合一定条件时redis会自动将内存中的所有数据执行快照操作并存储到硬盘上。默认存储在dump。rdb文件中。(文件名在配置文件中可以修改)
redis进行快照的时机(在配置文件中可以修改)
save 900 1:表示900秒内至少一个键被更改则进行快照。
save 300 10
save 60 10000
手动执行save或者bgsave命令让redis执行快照。
两个命令的区别在于,save是由主进程进行快照操作,会阻塞其它请求。bgsave是由redis执行fork函数复制出一个子进程来进行快照操作。
文件修复:redis-check-dump
rdb的优缺点
优点:由于存储的有数据快照文件,恢复数据很方便。
缺点:会丢失最后一次快照以后更改的所有数据。
2:redis持久化之AOF
aof方式的持久化是通过日志文件的方式。默认情况下redis没有开启aof,可以通过参数appendonly参数开启
appendonly yes
aof文件的保存位置和rdb文件的位置相同,都是dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改
appendfilename appendonly.aof redis写命令同步的时机
appendfsync always 每次都会执行
appendfsync everysec 默认 每秒执行一次同步操作(推荐,默认)
appendfsync no不主动进行同步,由操作系统来做,30秒一次 aof日志文件重写
auto-aof-rewrite-percentage 100(当目前aof文件大小超过上一次重写时的aof文件大小的百分之多少时会再次进行重写,如果之前没有重写,则以启动时的aof文件大小为依据)
auto-aof-rewrite-min-size 64mb 手动执行bgrewriteaof进行重写 重写的过程只和内存中的数据有关,和之前的aof文件无关。
所谓的“重写”其实是一个有歧义的词语, 实际上, AOF 重有的 AOF 文件进行任何写入和读取, 它针对的是数据库中键的当前值。
文件修复:redis-check-aof
动态切换redis持久方式,从 RDB 切换到 AOF(支持Redis 2.2及以上)
CONFIG SET appendonly yes
CONFIG SET save ""(可选)
注意:当redis启动时,如果rdb持久化和aof持久化都打开了,那么程序会优先使用aof方式来恢复数据集,因为aof方式所保存的数据通常是最完整的。如果aof文件丢失了,则启动之后数据库内容为空。
注意:如果想把正在运行的redis数据库,从RDB切换到AOF,建议先使用动态切换方式,再修改配置文件,重启数据库。(不能自己修改配置文件,重启数据库,否则数据库中数据就为空了。)
3:redis的安全策略
设置数据库密码
修改配置requirepass password
验证密码auth password bind参数
(可以让数据库只能在指定IP下访问) bind 127.0.0.1
注意:bind后面指定的ip只能是本机的ip。
命令重命名
修改命令的名称rename-command flushall cleanall
禁用命令 rename-command flushall ""
0 0
- hadoop正式学习之redis------redis的学习和操作2
- hadoop正式学习之redis------redis的学习和操作1
- hadoop正式学习之redis---redis优化
- hadoop正式学习之redis---redis的主从复制与Sentinel以及集群搭建
- hadoop正式学习之redis---网络数据爬虫
- redis 学习手册之java和php连接redis操作
- redis 学习 之 数据操作
- Redis 学习之操作命令
- redis学习之路:redis的介绍和安装
- redis学习之redis的主从复制
- redis 学习手册之发布和订阅pubsub操作
- Redis学习之Redis分区
- redis学习之Redis 哈希
- redis学习之安装redis
- redis 学习手册之redis服务操作命令
- Redis的学习之管道
- redis 学习手册之键key操作
- redis 学习手册之事务 transaction 操作
- 练习三1005
- Shell编程入门总结(三)
- 大小端判断
- (4.4.14.1) 细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- javap的理解
- hadoop正式学习之redis------redis的学习和操作2
- PHP字符串常用函数
- vtk实战(四十九)——使用vtkCell3D构建三维形体
- 面试中的排序算法总结
- (4.4.14.2)android事件分发
- 线段树
- iOS学习笔记47-Swift(七)泛型
- 联想K26进隐藏BIOS
- ftp