参考this post关于Booksleeve以及没有官方Windows Redis distribuition这一事实,最佳做法是什么?最好在Win32上编译,或者“非官方”的win32 / 64分发是否可靠并且保持不变?
答案 0 :(得分:2)
Booksleeve只是any-other-redis-client,而且与您选择使用的redis-server版本/平台正交。就个人而言,我只会当前使用redis-server的win32实现作为本地开发人员的便利。生产机器应该使用linux构建(我们使用ubuntu服务器,如果重要的话)。其原因归结为redis-server旨在利用廉价的linux fork / copy-on-write功能来执行后台保存(以及可能的其他功能)这一简单事实。 Windows 没有这样的分支,“linux on windows”实现通常会执行内存复制(相当昂贵,并且可能会对某些操作的执行方式产生重大影响)。
更糟糕的是:至少有一个纯Windows版本的redis-server只是用BGSAVE
请求代替SAVE
请求;在繁忙的服务器上,这是 death :SAVE
是同步的,而redis是单线程,通常只是利用了个别操作如此荒谬的事实,所以你通常不会注意到。但是:如果您突然收到需要20秒的SAVE
请求,那么您的redis服务器会在20秒内执行 其他 。当您依赖通常约为0.3毫秒的回复时,这是一个大问题。
Microsoft一直致力于redis-server的端口,可能现在已经准备就绪了;但是,考虑到所有事情, 现在 我宁愿坚持在linux服务器上经过良好测试的主要实现。
但是:对于临时开发人员的使用,任何win32版本都应该没问题。