内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

Windows上的Redis

2018-09-14 11:25 出处:清屏网 人气: 评论(0

Redis 是一个高性能的内存型NoSQL数据库,是服务端开发中常用的软件。 Redis 官方支持*nix、BSD等系统,没有提供对Windows平台的支持。Windows平台上的Redis由微软开发,但微软目前暂停了对其的支持和维护。微软 Redis 的Github仓库是 MicrosoftArchive/redis ,最后发布的版本是两年前的 3.2.100

在网络上搜索“redis windows”,不管新旧博文还是教程,都指向了 3.2.100 。软件老旧没问题,好用就行。但实践证明在大数据量下(超过几千个key),Windows上的3.2.100很快崩溃掉,出现如下错误提示:

此时不关闭窗口, redis 依然能提供服务。当存放的数据量增长到几万, redis 会弹出第二个崩溃窗口,数据存取将不可用,彻底的挂掉了。

根据抛出的异常信息找原因和解决方案,在网络上搜寻一圈也没找到原因和解决方式。有人在 redis 官方仓库里提issue,官方说这是Windows平台上的问题,请到微软的仓库里提问题。可是微软已经不在维护 redis ,估计提问题的哥们也挺郁闷。

没找到解决办法前只能忍:只要能持续提供服务,不理会报错;如果真正挂掉了,就重启。为了及时处理故障,对平台运行情况作了监控,出现异常时马上报警通知。

某天晚上准备睡觉,接到报警邮件,只好开电脑处理问题。没想到半个小时后又报警,持续两次后顿时有点火大,不解决 redis 问题很可能就睡不好觉。想到之前在某个issue里有人推荐过其他人维护的版本,寻思可以试试。翻看微软 redis 仓库里的issue,第二个便是。原来 tporadowski 维护了一个版本,并且支持到4.0(官方目前的稳定版)。难得可贵的是, tporadowski 还一直在维护更新,修复bug的同时与上游代码同步。

本想先测试一下再上线,又经过一次报警后决定马上上线替换在用的 3.2.100 版本。使用新版没多久,看到出现”fork operation complete”和”background saving teminated with success”消息,顿时感觉妥了(之前找“EXCEPTION_ACCESS_VIOLATION”时官方就提到过是Windows下fork出了问题)。事实表明这个版本的 redis 非常的稳定,运行到如今,窗口的输出信息全部正常,也没有crash过,烦人的报警邮件也没了。

总结

如果你在Windows平台上使用 3.2.100 版本的 redis 遇到问题,建议试试 tporadowski 维护的版本,下载地址是: https://github.com/tporadowski/redis/releases

参考

  1. https://redis.io
  2. https://github.com/MicrosoftArchive/redis
  3. https://github.com/tporadowski/redis

分享给小伙伴们:
本文标签: RedisWindows

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号