当前位置: 首页 > wzjs >正文

建设网站公司选哪家好企业网站开发公司

建设网站公司选哪家好,企业网站开发公司,如何做专业网站的线下推广,企业贷款政策最新消息2022一.Redis的持久化机制 Redis 是基于内存型的 NoSQL,和 MySQL 是不同的,使用内存存储进行数据缓存。 如果想要实现数据的持久化,Redis 也可支持将内存数据保存到硬盘文件中。 Redis 支持两种数据持久化保存方法: RDB: Redis Da…

一.Redis的持久化机制

Redis 是基于内存型的 NoSQL,和 MySQL 是不同的,使用内存存储进行数据缓存。

如果想要实现数据的持久化,Redis 也可支持将内存数据保存到硬盘文件中。

Redis 支持两种数据持久化保存方法:

  • RDB: Redis DataBase
  • AOF: Append Only File

以MySQL 做类比RDB类似MySQL dump,AOF类似 MySQL binlog。

二.RDB

RDB(Redis DataBase):是基于某个时间点的快照,注意 RDB 只保留当前最新版本的一个快照。

相当于 MySQL 中的完全备份。

RDB 持久化功能生成的 RDB 文件是一个经过压缩的二进制文件,通过该文件可以还原生成该 RDB 文件时数据存储的状态。因为 RDB 文件是保存在磁盘中的,所以即使 Redis 服务器进程甚至服务器崩机,只要配置 RDB 文件存在,就能将数据恢复。

RDB 支持 savebgsave 两种命令实现数据文件的持久化。 

  • SAVE命令用于执行同步保存操作,它会将当前Redis实例的所有数据快照以RDB文件的形式保存到硬盘上。这个命令会阻塞所有其他客户端,直到保存操作完成,因此在生产环境中不推荐使用。
  • BGSAVE 命令用于在后台异步保存当前数据库的数据到磁盘。执行 BGSAVE 命令后,Redis 会立即返回 OK,然后 fork 出一个新子进程。原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出

save 会阻止其它指令的执行,有可能会造成阻塞,bgsave

通过以下命令查看 BGSAVE 是否成功

redis-cli INFO persistence

开启RDB

通过 redis.conf 配置文件开启 RDB,找到 save 配置项,并确保以下内容未被注释(没有 # 号)

例如:

save 900 1   # 900秒(15分钟)内至少有1次写操作
save 300 10  # 300秒(5分钟)内至少有10次写操作
save 60 10000  # 60秒(1分钟)内至少有10000次写操作

修改RDB文件路径

如图,配置文件中dir和dbfilename 组成了RDB文件的存放路径。

三.AOF

AOF (Append-Only File) 是 Redis 提供的一种 持久化机制,它通过 将每一个写入命令追加到日志文件 来确保数据不会丢失。相比于 RDB (Redis Database File),AOF 提供了更高的数据安全性,但相应地也会增加磁盘 I/O 负担。

AOF 即 AppendOnlyFile,AOF 和 RDB 都遵守 COW 机制,AOF 可以决定不同的保存策略,默认为每秒钟执行一次 fsync,按照操作的顺序将修改命令追加至指定的 AOF 日志文件尾部。

在第一次启用 AOF 功能时,会做一次完全备份,后续将持续性备份,相当于完整数据备份 + 增量变化。

如果同时启用 RDB 和 AOF,进行恢复时,默认以 AOF 文件优先级高于 RDB 文件,因此会使用 AOF 文件进行恢复。

在第一次开启 AOF 功能时,会自动备份所有状态到 AOF 文件中,后续只会记录数据的更新指令。

注意:AOF 模式默认是关闭的,第一次开启 AOF 并在服务器发生故障后,会因为 AOF 的优先级高于 RDB,而 AOF 默认没有数据文件存在,从而导致所有数据丢失。

AOF的开启

直接修改配置文件(不推荐,会丢数据)

把此项设置为yes

设置AOF文件路径和文件名

动态修改(推荐)

 动态修改之后再修改配置文件

修改AOF增量日志 恢复误删除数据

如图,误删除数据,下面通过修改AOF增量数据恢复误删除数据。

 把误删除的指令删除重新启动服务。

恢复成功

AOF rewrite重写 

将一些重复的,可以合并的,过期的数据重新写入一个新的AOF文件,从而节约AOF备份占用的硬盘空间,也能加速恢复
可以手动执行bgrewriteaof触发AOF,第一次开启AOF功能,或定义自动rewrite策略

AOF rewrite过程
父进程生成一个新的子进程负责生成新的AOF文件,同时父进程将新的数据更新同时写入两个缓冲区aof_buff和aof_rewrite_buf 

 

 实现AOF rewrite

在 Redis CLI 执行

bgrewriteaof

动态修改

CONFIG SET auto-aof-rewrite-percentage 100
CONFIG SET auto-aof-rewrite-min-size 64mb
  • auto-aof-rewrite-percentage 100:表示 AOF 文件比上次重写后的大小 增长 100%(即翻倍)时,触发 AOF 重写。
  • auto-aof-rewrite-min-size 64mb:只有当 AOF 文件达到 64MB 以上时才会触发重写。

如果要使该配置永久生效,需要修改 redis.conf,然后重启

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

 

rewrite相关配置
#同时在执行bgrewriteaof操作和主进程写aof文件的操作,两者都会操作磁盘,而bgrewriteaof往往会涉及大量磁盘操作,这样就会造成主进程在写aof文件的时候出现阻塞 的情形,以下参数实现控制no-appendfsync-on-rewrite no      #在aof rewrite期间,是否对aof新记录的append暂缓使用文件同步策略,主要考虑磁盘1O开支和请求阻塞时间。 #默认为no,表示"不暂缓”,新的aof记录仍然会被立即同步到磁盘,是最安全的方式,不会丢失数据,但是要忍受阻塞的问题
#为yes,相当于将appendfsync设置为no,这说明并没有执行磁盘操作,只是写入了缓冲区,因此这样并不会造成阻塞(因为没有竞争磁盘),但是如果这个时候redis挂掉,就 会丢失数据。丢失多少数据呢?Linux的默认fsync策略是30秒,最多会丢失30s的数据,但由于yes性能较好而且会避免出现阻塞因此比较推荐#rewrite 即对aof文件进行整理,将空闲空间回收,从而可以减少恢复数据时间auto-aof-rewite-percentage 100 #当Aof log增长超过指定百分比例时,重写AOF文件,设置为0表示不自动重写Aof日志,重写是为了使aof体积保持最小,但是还可 以确保保存最完整的数据auto-aof-rewrite-min-size 64mb #触aof rewrite的最小文件大小aof-load-truncated yes#是否加载由于某些原因导致的未尾异常的AOF文件(主进程被kill/断电等),建议yes

 

 

 

http://www.dtcms.com/wzjs/391716.html

相关文章:

  • 成都网站建设公司浅谈百度的关键词优化
  • 义乌做网站多少钱appstore关键词优化
  • wordpress 分类 列表页无锡网站制作优化
  • 易旅游网站建设百度免费收录提交入口
  • hui怎么做网站商城小程序
  • 网站独立ip百度收录怎么制作自己的个人网站
  • 什么app做网站百度提交入口的注意事项
  • 常熟做网站多少钱排名优化百度
  • arprice插件wordpressseo要点
  • wordpress京东客系统yoast seo
  • 查看别人网站的访问量网络推广需要花多少钱
  • 经销商怎么做网站谷歌seo新规则
  • 视频网站闪图怎么做seo关键词优化排名公司
  • 做简单网站的步骤seo优化工作内容
  • 网站的布局结构三种chatgpt网页
  • 临沂网站建设步骤百度人工客服在哪里找
  • 专业APP客户端做网站竞价推广员月挣多少
  • 链接网站开发需要多少钱网络推广包括哪些
  • 初学者3d建模要什么软件广安网站seo
  • 外贸网站推广销售seo二级目录
  • 丫个网站建设博客最好的bt磁力搜索引擎
  • 抚州做网站的公司暴疯团队seo课程
  • 江西网站建设公司bt磁力猪
  • 自己怎样做淘客网站淘宝直通车推广怎么做
  • wordpress简洁移动主题西安网站优化推广方案
  • 陕西住房和城乡建设厅官网徐州seo推广优化
  • 设计网站登录框ps怎么做b2b网站大全
  • 娱乐网站开发spspwkseo网络优化前景怎么样
  • 导购网站自己做电商文军seo
  • 做内销网站如何制作链接推广