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

杭州市做网站石家庄工信部网站备案

杭州市做网站,石家庄工信部网站备案,西海岸新区城市建设局网站,搜索网站的设计与建设目录 分布式缓存 Redis 四大问题Redis 持久化RDB (Redis DataBase)RDB执行时机RDB启动方式——save指令save指令相关配置save指令工作原理save配置自动执行 RDB启动方式——bgsave指令bgsave指令相关配置bgsave指令工作原理 RDB三种启动方式对比RDB特殊启动形式RDB优点与缺点 A… 目录 分布式缓存 Redis 四大问题Redis 持久化RDB (Redis DataBase)RDB执行时机RDB启动方式——save指令save指令相关配置save指令工作原理save配置自动执行 RDB启动方式——bgsave指令bgsave指令相关配置bgsave指令工作原理 RDB三种启动方式对比RDB特殊启动形式RDB优点与缺点 AOF (Append Only File)AOF写数据三种策略 (appendfsync)AOF相关配置AOF工作流程AOF重写AOF重写作用AOF重写规则AOF重写方式AOF重写流程 RDB (Redis DataBase) VS AOF (Append Only File) 分布式缓存 Redis 四大问题 基于 Redis 集群解决单机 Redis 存在的四大问题 Redis 持久化 防止数据的意外丢失确保数据安全性利用永久性存储介质将数据进行保存在特定的时间将保存的数据进行恢复的工作机制称为持久化。 持久化过程保存什么 将当前数据状态进行保存快照形式存储数据结果存储格式简单关注点在数据将数据的操作过程进行保存日志形式存储操作过程存储格式复杂关注点在数据的操作过程 RDB (Redis DataBase) RDB全称Redis Database Backup fileRedis数据备份文件也被叫做Redis数据快照。快照文件称为RDB文件默认是保存在当前运行目录。   在进行 RDB 的时候Redis 的主线程是不会做 IO 操作的主线程会 fork 一个子线程来完成该操作Redis 调用 fork同时拥有父进程和子进程。子进程将数据集写入到一个临时 RDB 文件中。当子进程完成对新 RDB 文件的写入时Redis 用新 RDB 文件替换原来的 RDB 文件并删除旧的 RDB 文件。   这种工作方式使得 Redis 可以从写时复制copy-on-write机制中获益因为是使用子进程进行写操作而父进程依然可以接收来自客户端的请求。fork 采用的是 copy-on-write 技术 当主进程执行读操作时访问共享内存当主进程执行写操作时则会拷贝一份数据执行写操作。 RDB执行时机 RDB持久化在四种情况下会执行 执行save命令执行bgsave命令Redis停机时 Redis停机时会执行一次save命令实现RDB持久化。触发RDB条件时 save second changes 其中 second监控时间范围changes监控key的变化量。save “” 则表示禁用 RDB RDB启动方式——save指令 # 手动执行一次保存操作save命令会导致主进程执行RDB这个过程中其它所有命令都会被阻塞。只有在数据迁移时可能用到。 saveredis-cli -p 6379 127.0.0.1:6379 127.0.0.1:6379 save OK # 在redis安装目录的data目录生成dump.rdb文件save指令相关配置 dbfilename dump.rdb 说明设置本地数据库文件名默认值为 dump.rdb。 经验通常设置为dump-端口号.rdb。dir 说明设置存储.rdb文件的路径。 经验通常设置成存储空间较大的目录中目录名称data。rdbcompression yes 说明设置存储至本地数据库时是否压缩数据默认为 yes采用 LZF 压缩。 经验通常默认为开启状态如果设置为no可以节省 CPU 运行时间但会使存储的文件变大巨大。rdbchecksum yes 说明设置是否进行 rdb 文件格式校验该校验过程在写文件和读文件过程均进行。 经验通常默认为开启状态如果设置为 no可以节约读写性过程约 10% 时间消耗但是存储一定的数据损坏风险。 数据恢复演示 # 关闭redis进程 ps -ef | grep redis- kill -9 端口号# 启动redis观察是否有数据 redis-server conf/redis-6379.conf redis-cli -p 6379 keys * 输出 # 关闭前的数据存在持久化生效save指令工作原理 save配置自动执行 反复执行保存指令忘记了不知道数据产生了多少变化何时保存。由 Redis 服务器发起指令基于条件自动执行保存数据。 # 在conf文件中进行配置重新以配置文件启动满足限定时间范围内key的变化数量达到指定数量即进行持久化 # second监控时间范围changes监控key的变化量 save second changesRDB启动方式——bgsave指令 数据量过大单线程执行方式造成效率过低需要后台执行 Redis 操作者用户发起指令Redis 服务器控制指令执行 # 手动启动后台保存操作但不是立即执行开启独立进程完成RDB主进程可以持续处理用户请求不受影响。 bgsave127.0.0.1:6379 keys * 1) name 127.0.0.1:6379 set age 25 OK 127.0.0.1:6379 get age 25 127.0.0.1:6379 bgsave Background saving started# 保存在dump.rdbbgsave指令相关配置 dbfilename dump.rdb 说明设置本地数据库文件名默认值为 dump.rdb。 经验通常设置为dump-端口号.rdb。dir 说明设置存储.rdb文件的路径。 经验通常设置成存储空间较大的目录中目录名称data。rdbcompression yes 说明设置存储至本地数据库时是否压缩数据默认为 yes采用 LZF 压缩。 经验通常默认为开启状态如果设置为no可以节省 CPU 运行时间但会使存储的文件变大巨大。rdbchecksum yes 说明设置是否进行 rdb 文件格式校验该校验过程在写文件和读文件过程均进行。 经验通常默认为开启状态如果设置为 no可以节约读写性过程约 10% 时间消耗但是存储一定的数据损坏风险。stop-writes-on-bgsave-error yes 说明后台存储过程中如果出现错误现象是否停止保存操作。 经验通常默认为开启状态。 bgsave指令工作原理 RDB三种启动方式对比 方式save指令bgsave指令读写同步异步阻塞客户端指令是否额外内存消耗否是启动新进程否是 RDB特殊启动形式 全量复制 在主从复制中详细讲解 服务器运行过程中重启 debug reload 关闭服务器时指定保存数据 shutdown save 默认情况下执行 shutdown 命令时自动执行 bgsave( 如果没有开启AOF持久化功能 ) RDB优点与缺点 RDB优点 RDB 是一个紧凑压缩的二进制文件存储效率较高。RDB 内部存储的是 Redis 在某个时间点的数据快照非常适合用于数据备份全量复制等场景。RDB 恢复数据的速度要比 AOF 快很多。应用服务器中每x小时执行 bgsave 备份并将 RDB 文件拷贝到远程机器中用于灾难恢复。 RDB缺点 RDB 方式无论是执行指令还是利用配置无法做到实时持久化具有较大的可能性丢失数据。bgsave 指令每次运行要执行 fork 操作创建子进程要牺牲掉一些性能。Redis 的众多版本中未进行 RDB 文件格式的版本统一有可能出现各版本服务之间数据格式无法兼容现象。 RD B文件格式中的 check_sum字段数值用来在载入时判断文件是否损坏 RDB文件格式中的db_version字段记录了RDB文件的版本号 RDB文件格式中的 SELECTDB 常量 pairs 在任何情况下都会存在错误。 解释只有当数据库中有键值对时RDB 文件中才会有该数据库的信息。 AOF (Append Only File) 解决 RDB 存储的弊端 存储数据量较大效率较低 基于快照思想每次读写都是全部数据当数据量巨大时效率非常低。大数据量下的 IO 性能较低。基于 fork 创建子进程内存产生额外消耗。宕机带来的数据丢失风险。 解决思路 不写全数据仅记录部分数据。降低区分数据是否改变的难度改记录数据为记录操作过程。对所有操作均进行记录排除丢失数据的风险。 AOF概念   AOF (append only file) 持久化以独立日志的方式记录每次写命令重启时再重新执行 AOF 文件中命令达到恢复数据的目的。   与 RDB 相比可以简单描述为改记录数据为记录数据产生的过程。AOF 的主要作用是解决了数据持久化的实时性目前已经是 Redis 持久化的主流方式。 AOF写数据三种策略 (appendfsync) always每次 每次写入操作均同步到 AOF 文件中数据零误差性能较低。 everysec每秒 每秒将缓冲区中的指令同步到 AOF 文件中数据准确性较高性能较高。 在系统突然宕机的情况下丢失 1 秒内的数据。 no系统控制 由操作系统控制每次同步到 AOF 文件的周期整体过程不可控。 AOF相关配置 # 是否开启AOF功能默认是no appendonly yes# AOF持久化文件名默认文件名未appendonly.aof建议配置为appendonly-端口号.aof appendfilename filename# AOF持久化文件保存路径与RDB持久化文件保持一致即可 dir# 表示每执行一次写命令立即记录到AOF文件 appendfsync always # 写命令执行完先放入AOF缓冲区然后表示每隔1秒将缓冲区数据写到AOF文件是默认方案 appendfsync everysec # 写命令执行完先放入AOF缓冲区由操作系统决定何时将缓冲区内容写回磁盘 appendfsync no测试添加数据 127.0.0.1:6379 set age 55 OKcat appendonly-6379.aof ... set $3 age $2 55AOF工作流程 AOF重写 随着命令不断写入 AOF文件会越来越大为了解决这个问题Redis 引入了 AOF 重写机制压缩文件体积。AOF 文件重写是将 Redis 进程内的数据转化为写命令同步到新 AOF 文件的过程。   简单说就是将对同一个数据的若干个条命令执行结果转化成最终结果数据对应的指令进行记录。 AOF重写作用 降低磁盘占用量提高磁盘利用率。提高持久化效率降低持久化写时间提高IO性能。降低数据恢复用时提高数据恢复效。 AOF重写规则 进程内已超时的数据不再写入文件。忽略无效指令重写时使用进程内数据直接生成这样新的 AOF 文件只保留最终数据的写入命令如del key1、 hdel key2、srem key3、set key4 111、set key4 222等对同一数据的多条写命令合并为一条命令如 lpush list1 a、lpush list1 b、 lpush list1 c 可以转化为lpush list1 a b c。为防止数据量过大造成客户端缓冲区溢出对list、set、hash、zset等类型每条指令最多写入 64 个元素。 AOF重写方式 手动重写 bgrewriteaof 指令 127.0.0.1:6379 set name 111 OK 127.0.0.1:6379 set name 222 OK [rootkoma data]# cat appendonly-6379.aof127.0.0.1:6379 bgrewriteaof Background append only file rewriting started[rootkoma data]# cat appendonly-6379.aof自动重写 # 自动重写触发条件设置 auto-aof-rewrite-min-size size # AOF文件体积最小多大以上才触发重写 auto-aof-rewrite-percentage percentage # AOF文件比上次文件 增长超过多少百分比则触发重写# 自动重写触发比对参数运行指令info Persistence获取具体信息 aof_current_size aof_base_size自动重写触发条件 AOF重写流程 RDB (Redis DataBase) VS AOF (Append Only File) 持久化方式RDB (Redis DataBase)AOF (Append Only File)占用存储空间小数据级压缩大指令级重写存储速度慢快恢复速度快慢数据安全性会丢失数据依据策略决定资源消耗高 / 重量级低 / 轻量级启动优先级低高 对数据非常敏感建议使用默认的 AOF 持久化方案 ​AOF持久化策略使用 everysecond每秒钟 fsync 一次。该策略 Redis 仍可以保持很好的处理性能当出现问题时最多丢失 0-1 秒内的数据。 ​注意由于 AOF 文件存储体积较大且恢复速度较慢。数据呈现阶段有效性建议使用 RDB 持久化方案 ​数据可以良好的做到阶段内无丢失该阶段是开发者或运维人员手工维护的且恢复速度较快阶段点数据恢复通常采用 RDB 方案。综合比对 RDB 与AOF 的选择实际上是在做一种权衡每种都有利有弊。 如不能承受数分钟以内的数据丢失对业务数据非常敏感选用AOF。 ​如能承受数分钟以内的数据丢失且追求大数据集的恢复速度选用RDB。 ​灾难恢复选用RDB。 ​双保险策略同时开启 RDB 和 AOF重启后Redis优先使用 AOF 来恢复数据降低丢失数据的量。
http://www.w-s-a.com/news/561288/

相关文章:

  • 张家港网站建设培训江苏省建设工程网站系统
  • html个人网站桂林建站
  • 湛江网站优化快速排名wordpress文章页面宽度
  • 自己建网站怎么弄唯品会一家专门做特卖的网站
  • 做文化传播公司网站做搜狗pc网站点
  • 免费的黄冈网站有哪些平台可以聊天呢要查询一个网站在什么公司做的推广怎么查
  • 凡客建站登录入口网站建设先进部门评选标准
  • 响应式设计 手机网站政务中心建设网站
  • 如何做卖衣服的网站网站登录接口怎么做
  • 网站源码下载了属于侵权吗499全包网站建设
  • 怎样创建网站信息平台网络推广官网首页
  • 网站建设的课程网站 逻辑结构
  • 开通企业网站搬瓦工暗转wordpress
  • 成都网站建设有名的公司怎么做出有品牌感的网站
  • 中国网站的建设淘宝数据网站开发
  • 深圳建站网站模板wordpress 文章最长
  • 服务器建立网站建网站做seo
  • 帮人做彩票网站支付接口网上请人做软件的网站
  • 万全网站建设wl17581做旅游广告在哪个网站做效果好
  • 钢城网站建设安徽省住房和城乡建设厅网站
  • 协会网站建设方案大良营销网站建设好么
  • 网站引导页一般是什么格式网页设计师的应聘岗位
  • 构建网站空间网站开发与维护招聘
  • 网站建设的网页怎么做番禺网站开发哪家强
  • 网站开发是程序员吗百度网盘下载电脑版官方下载
  • 中国电力建设集团网站杭州网站运营
  • 大气网站模板下载效果好的网站建设公
  • 住房和城乡建设部网站打不开重庆市建设工程信息网官网30系统
  • 做美食软件视频网站大数据精准营销策略
  • 网站后台密码错误陕西大型网站建设