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

广州建网站报价安徽省住房与城乡建设部网站

广州建网站报价,安徽省住房与城乡建设部网站,西安网站建设gj,和韩国做贸易的网站GO实现Redis持久化 项目开发到这里,我们的下一步就是实现Redis的持久化落盘功能,Redis是一个内存型的数据库,在之前我们实现的单机版Redis如果把进程杀掉,我们通过GET、SET指令存储的数据都将不复存在,数据只存在内存的map里面,重启之后什么都没有了 我们现在的目标就是…GO实现Redis持久化 项目开发到这里,我们的下一步就是实现Redis的持久化落盘功能,Redis是一个内存型的数据库,在之前我们实现的单机版Redis如果把进程杀掉,我们通过GET、SET指令存储的数据都将不复存在,数据只存在内存的map里面,重启之后什么都没有了 我们现在的目标就是把用户发来的指令以resp协议的形式记录在aof文件中,这个aof文件是落在我们电脑硬盘里的,所以是持久化的,当我们Redis内存停掉之后,这个文件会保留下来,当Redis在重启时,我们再读取文件里的数据,把用户之前的指令重新读取出来,再执行一遍,这样就简单的实现了Redis的持久化 实现落盘准备工作 aof.go 我们创建一个aof文件并新建aof.go,我们需要一个AofHandler数据结构,这个Handler是用来处理aof文件的处理器,他可以写和读aof文件,他要持有的数据有Database,这个Database里有Redis核心,还要持有aof文件、用户现在选择的DB分数据库和aof写文件缓存区的channel type AofHandler struct {database databaseface.DatabaseaofChan chan *payloadaofFile *os.FileaofFilename stringcurrentDB int } 然后我们还要写一下channel里面传输数据的数据类型写一下,他的字段有用户指令和分DB所引 type CmdLine = [][]bytetype payload struct {cmdLine CmdLinedbIndex int } aof处理器的数据结构我们就设计完了,然后就是设计aof处理器的行为,首先是NewAofHandler,然后就是Add功能,他的功能就是把用户的指令包装成payload塞到aofChan这个channel里面去,接下来是落盘功能HandleAof,他的逻辑是把缓冲区里的数据取出来放到硬盘里去,最后是加载功能LoadAof,就是在初始化重启的时候把我们之前落在磁盘里用户的指令加载出来,接下来我们就开始实现这几个方法 首先是NewAofHandler,他的实现逻辑首先是读取aof文件名,给database赋值,然后是打开aof文件,如果没有这个文件我们创建文件,如果有这个文件我们打开这个文件,将文件填充到aofFile字段,理论上我们的AofHandler初始化过程就已经完成了,但目前还缺两个细节,一个是在初始化AofHandler的时候是系统刚刚启动的时候,我们要把之前写在硬盘里的aof文件加载恢复,另一个是对channel的操作,我们后面补 func NewAofHandler(database databaseface.Database) (*AofHandler, error) {handler := AofHandler{}handler.aofFilename = config.Properties.AppendFilenamehandler.database = database//Loadaofile, err := os.OpenFile(handler.aofFilename, os.O_APPEND|os.O_CREATE|os.O_RDWR, 0600)if err != nil {return nil, err}handler.aofFile = aofile//channelreturn handler, nil }然后是Add功能,他的函数入参有分数据库DB所引和具体指令,业务逻辑就是新建payload并把函数入参组装成payload塞到channel里面
http://www.dnsts.com.cn/news/114214.html

相关文章:

  • 教育公司 网站建设官网html模板
  • 网站网站建设多少钱网站建设 有哪些费用
  • 基础微网站开发公司建网站网络公司
  • 淘宝客 备案 网站名称网站建设中翻译
  • 网站开发所需人员wordpress很安全
  • 试玩网站设计建设wordpress 下载插件
  • 自动生成网站建设项目自主验收验收网站
  • 网页制作与设计代码Wordpress图片加载优化
  • 电子商城网站源码淮北网站网站建设
  • 临沂网站建设公司网站建设旗帜条幅
  • 微信微网站开发报价单深圳高端网站制作
  • 通化网站建设公司淘客网站代理
  • 返利网 网站建设费用广州网站优化公司咨询
  • 高端网站建设 来磐石网络泰安搜索引擎优化招聘
  • 网站做镜像检查漏洞康复网站模板怎么做
  • 国内公司网站模板山西城乡与住房建设厅网站
  • 商业门户网站有哪些网站建设杭州公司
  • 不要钱做网站软件网站开发蓝云
  • 迁西网站建设上海网站建设多少费用
  • 广告网站搭建商城网站租服务器安全不
  • 如何做响应式网站百度贴吧网页版
  • 1688做网站需要多少钱游戏开发巨头
  • 如何建立游戏网站wordpress后台菜单管理
  • 西宁网站维护公司深圳优化怎么做搜索
  • 东莞市建设企业网站服务机构十大经典案例
  • 深圳住房和建设局网站微九州合作网站
  • 网站地图抓取商业性质网站设计
  • 查重网站开发论文网站建设方案
  • 怎么做网站流量安居客二手房
  • 影视网站怎么做优化vivo应用商店官网