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

上海网站建设网页制作规范 加强网站建设管理

上海网站建设网页制作,规范 加强网站建设管理,上海建筑设计院待遇怎么样,如何利用路由建设网站前言 Redis 是内存数据库,它将自己的数据储存在内存里面,如果不想办法将储存在内存中的数据保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据也就没了。 因此,Redis 提供了 RDB 持久化功能,这个功能…

前言

Redis 是内存数据库,它将自己的数据储存在内存里面,如果不想办法将储存在内存中的数据保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据也就没了。

因此,Redis 提供了 RDB 持久化功能,这个功能可以将 Redis 在内存中的数据保存到磁盘里面,避免丢失。

问题描述

有两台计算机,分别为 A、B(A 是本机,B 是云服务器)。两台计算机操作系统版本,Redis 版本完全相同。

我有一些数据储存在 A 的 Redis 中(B 无法直接获取这些数据),我想把这些数据保存到 B 中。于是在 A 中调用 SAVE 命令生成 rdb 文件,将 rdb 文件拷贝到 B,想让 B 加载这个 rdb 文件。

rdb 文件的加载工作是在服务器启动时自动执行的,于是我在 B 执行以下命令:

sudo systemctl restart redis 

可是,B 的 Redis 中并没有我预期的数据,还是 B 之前的数据。只要重启后,我拷贝到 B 的 dump.rdb 文件就没了,就又被替换成之前的文件了。

经过排查,B 并没有开启 AOF 持久化,redis.conf 配置的 dump.rdb 文件名和路径都没有问题。排查日志发现 rdb 文件加载正常,并没有打印错误信息。

问题解决

经过重重排查,终于发现了问题,问题出在 Redis 关闭的时候。

server.c/prepareForShutdown 函数的片段如下:

int prepareForShutdown(int flags) {int save = flags & SHUTDOWN_SAVE;int nosave = flags & SHUTDOWN_NOSAVE;/* Create a new RDB file before exiting. */if ((server.saveparamslen > 0 && !nosave) || save) {serverLog(LL_NOTICE,"Saving the final RDB snapshot before exiting.");/* Snapshotting. Perform a SYNC SAVE and exit */rdbSaveInfo rsi, *rsiptr;rsiptr = rdbPopulateSaveInfo(&rsi);if (rdbSave(server.rdb_filename,rsiptr) != C_OK) {serverLog(LL_WARNING,"Error trying to save the DB, can't exit.");return C_ERR;}}
}

准备关闭的时候,在 server.saveparamslen > 0 时,有可能会调用 rdbSave(server.rdb_filename,rsiptr) 生成 rdb 文件。

我们可以在 redis.conf 中设置一些条件让 Redis 自动执行 BGSAVE 命令,例如:

save 900 1
save 300 10
save 60 10000

server.saveparamslen 就是我们设置的 BGSAVE 保存条件数组的长度,在这个例子中为 3。

于是问题就很清晰了,在 Redis 关闭的时候,它生成了一分 rdb 文件,替换了我拷贝到 B 的 rdb 文件,于是启动的时候加载的也是它刚生成的这份。

只要我先关闭 Redis,再将 dump.rdb 拷贝到 B,再在 B 启动 Redis 就可以解决了。

参考资料

  • 《Redis 设计与实现》
  • Redis 5.0.8 server.c/prepareForShutdown
http://www.yayakq.cn/news/846993/

相关文章:

  • 可以免费学编程的网站h5游戏源码
  • 西安有关做网站的公司有哪些wordpress每段不同图片
  • 酒店网站建设需求分析可以看那种东西的浏览器下载
  • 重庆做网站找谁有什么免费建网站
  • 高青网站建设为什么要做官方网站
  • 潍坊电商网站建设营销型网站与展示型网站
  • 做电子商务的网站php做网站要用到的技术
  • 网站运营经验分享pptwordpress新建音乐界面
  • 网站维护要什么施工企业入外省名单公示
  • 成都市建设局官方网站泸州百度做网站联系
  • 怎么做像知乎一样的网站制作手游需要学什么软件
  • 电子商务网站建设维护学期总结php语言做网站
  • 制作网站教学海南的网站建设公司
  • 张北北京网站建设建筑安全员证查询网上查询
  • 织梦网站怎么关闭手机模板o2o电商网站
  • 正规的金融行业网站开发室内外设计
  • 湛江市建设教育协会学校网站广告策划书撰写
  • 重庆金融网站建设西安百度网站排名优化
  • 做网页设计可以参考哪些网站网络营销考试题及答案
  • 河北省建设厅注册中心网站首页学院网站建设与管理办法
  • 织梦网站2个模型做设计找图有哪些网站
  • jeykll和wordpress湖南有实力seo优化哪家好
  • 上海网站域名注册家具设计师招聘
  • 网站站内推广外贸网络营销软件
  • 漯河北京网站建设公司o2o平台运营是什么意思
  • 深圳市城乡住房和建设局网站湖南省建设工程施工合同
  • 建个购物网站沛县网站建设xlec
  • 动漫网站建站上海货拉拉注册公司地址
  • 北京网站建设怎么样天什么网站可以免费做视频的软件有哪些
  • 杨伟丽 郑州做网站超值的扬中网站建设