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

大连网站建设价格seo排名优化是什么意思

大连网站建设价格,seo排名优化是什么意思,web需要学什么内容,性价比最高网站建设哪里好持久化是指数据写到物理硬盘里,即便程序崩溃、或者电脑重启,依然能够恢复。Redis提供了两种持久化机制:RDB和AOF。 RDB(Redis Database): RDB文件相当于内存快照,保存了某个时间点数据库信息。使用RDB文件恢复很简单,将…

        持久化是指数据写到物理硬盘里,即便程序崩溃、或者电脑重启,依然能够恢复。Redis提供了两种持久化机制:RDB和AOF。

        RDB(Redis Database): RDB文件相当于内存快照,保存了某个时间点数据库信息。使用RDB文件恢复很简单,将文件读取到内存里即可。

        AOF(Append Only File):以追加写的方式记录对数据库的修改命令。使用它恢复的时候,会对文件里的命令进行重放,这样也能够还原成数据库原来的样子。

        两种方式各有优缺点:

优点缺点
RDB恢复快,文件小最坏情况下两次快照之间间隔数据会丢失。
AOF根据刷盘策略不同,异常情况下数据损失小。恢复慢、AOF文件随着程序运行会逐渐增大。

        下面详细介绍两种方式的实现细节:

RDB:

        RDB既可以手动生成,也可以通过配置让服务器自动生成。Redis提供了save和bgsave两个命令用于生成RDB文件,这两个命令区别在于save会阻塞服务器进程,bgsave不会。bgsave会创建一个子进程来生成,而父进程可以继续执行客户端请求。

        另外也可以通过配置文件或者启动参数,使得服务器在满足条件情况下自动生成RDB,默认的配置是:        

save 900 1      // 900秒内有一次更改
save 300 10     // 300秒内有十次更改
save 60 10000   // 60秒内有1万次更改

 AOF:

        AOF通过记日志的方式来实现持久化,这里的日志指的是对数据库有修改的命令。AOF记录日志的流程如下:

        1. 处理请求

        2. 写文件缓存 write操作

        3. 刷新文件缓存到磁盘。fsync操作

        相对于内存读写,刷盘需要操作硬件,是一个速度很慢的操作,如果每个redis修改命令都要刷盘,那将极大降低redis的性能。为此,Redis提供了三种不同的刷盘策略:

Always每次请求后都要刷盘,性能最差,安全性最高。最多损失一次事件处理数据。
Every Sec每秒刷盘,兼顾性能和安全,默认选项。最多损失一秒数据。
No不刷盘,实际刷盘时间取决于操作系统。linux默认会30秒刷一次

        随着程序的运行,AOF文件会逐渐变大,过大的文件会带来一系列问题:系统文件大小限制、恢复慢、内容冗余。

        假设执行100条命令新建100个key,然后执行100条Del命令删除key,此时AOF文件会记录200条命令,然而在恢复的时候,这200条命令完全冗余,不会对数据库产生任何影响。为了解决AOF文件过大的问题,Redis提供了AOF Rewrite机制。

        AOF Rewrite既可以通过手动执行bgrewriteaof命令触发,也可以通过配置使得服务器自动执行。执行流程如下:

        1.服务器创建子进程

        2.子进程根据当前内存数据库构造重建命令,比如一个含有10个key的集合,使用一条

sadd v1,v2,v3,v4......v10。当然,如果一个命令参数过多的话,Redis会分成多条命令执行。这些命令会写入到一个临时文件中。当构造完成好之后,子进程发送一个信号给父进程,父进程收到后会原子替换临时文件和旧的aof文件来完成aof重写,后续的日志会直接写入到新的aof文件。对于子进程在重建aof文件过程中,父进程会继续处理客户端请求,此时,除了追加到旧的aof buffer文件外,还会写到 aof rewrite buffer,当子进程重建完成后,会将aof rewrite buffer内容追加到新的aof文件中,因而不会造成数据丢失。整个过程中,父进程只会在处理信号函数回调的时候阻塞下,最耗时的AOF文件重构过程由子进程完成,不会影响父进程继续处理请求。

        综上所述,可以发现,无论是RDB持久化还是AOF持久化,Redis均不能保证数据不丢失。所以,对于某些数据敏感的业务,是否使用redis需要做好评估。这一点,MySQL的WAL(write ahead log)写前日志机制就不错,保证数据不丢。

        实际应用中,一般会同时开启RDB持久化和AOF持久化,Redis Server启动的时候会优先使用AOF文件初始化,RDB文件主要用于同步备机等等,另外Redis 4.0版本提供了一个参数,使得程序初始化的时候同时使用rdb和aof初始化,aof-use-rdb-preamble。

参考文档:

1. Redis persistence demystified

2. Redis RDB and AOF Persistence - SoByte

3. Redis persistence | Redis

http://www.15wanjia.com/news/8451.html

相关文章:

  • 扬州建设公司网站关键词seo公司推荐
  • 外贸展示型网页设计宁波seo网络推广报价
  • 黄浦做网站公司江西seo
  • 做网站的模仿还要去量宽高吗网站推广服务报价表
  • 做网站广告网页外包网站
  • 乌海市建设工程网站软件推广赚钱一个10元
  • 使用vue做的网站深圳网页设计公司
  • 博客网站模板逆冬黑帽seo培训
  • 佛山网站建设在哪福州百度推广开户
  • 菜鸟教程网站怎么做百度联盟广告点击一次收益
  • 全国加盟网站建设最有效的网络推广方式和策略
  • 网页制作公司 软件seo视频教学网站
  • 滨州北京网站建设价格低外贸网站如何推广优化
  • 网站专题教程广州网站优化服务
  • 网站支付模块百度统计手机app
  • 电话约建设网站 客户深圳高端seo公司助力企业
  • 郝友做的网站整站排名优化品牌
  • 政府网站建设 强化考评问责北京网站sem、seo
  • 邢台网站制作公司网推平台有哪些比较好
  • 上海网站建设v芯ee8888e渠道网络
  • 新余网站网站建设网站备案
  • 日新月异网站建设成都网站推广经理
  • no7wordpressseo 视频
  • 做室内设计的网站有哪些百度浏览器
  • 那些网站可以上传自己做的视频宁波seo快速优化课程
  • 网站建设规划书范文500字下载谷歌浏览器
  • 深圳的建站公司重庆网站关键词排名
  • 域名网站是什么seo算法是什么
  • wordpress迁移到githubseo的搜索排名影响因素主要有
  • 百度广州分公司是外包吗济南seo整站优化招商电话