【问题标题】:State of Redis on Windows in 2019?2019 年 Windows 上 Redis 的状态?
【发布时间】:2019-11-01 07:16:16
【问题描述】:

我需要使用带有两个 Windows Server 2016 的 Redis Sentinel 以 HA 模式(在集群中)配置 Redis。 环顾四周,有很多关于如何在 Windows 上安装 Redis 的资料,但似乎都没有……对我来说是正确的。

我到了这个页面,它以有组织的方式列出了其中的大部分: https://github.com/ServiceStack/redis-windows

我基本上对所有这些都有问题,想了解一些事情,甚至可能得到推荐的方法来指导我:

  • 在 Windows 上的 Ubuntu 上安装 Redis
    • 这似乎……骗人。会有好的表现吗?我是否能够以这种方式配置集群(没有太多麻烦),让 Ubuntu 虚拟机在 Windows 上运行?
  • 流浪者
    • 基本同上
  • 微软本机端口
    • 这似乎不那么作弊,但另一方面却相当过时。可用的版本适用于 Redis 3.0(最后一个版本是 5.0)。所以我担心我会错过很多好的功能和改进。

【问题讨论】:

    标签: windows redis redis-sentinel


    【解决方案1】:

    我不清楚为什么您认为在 Windows 上的 WSL 或 VM 上运行本机版本的 Redis 在 Linux 上“看起来很作弊”?这是在 Windows 上运行受支持的最新版本 Redis 的唯一方法。通过 WSL 或 VM 运行受支持且经过测试的 Redis 官方版本比运行具有已知问题的不受支持的废弃分支更自如。

    WSL 存在磁盘性能问题,但由于 Redis 主要在内存中运行(磁盘持久性除外)它运行良好,WSL2 has been optimized for performance 所以它应该运行得更快,尤其是磁盘性能。

    但是,如果您发现性能是一个问题,您只需在 Linux 上运行它,在 Ubuntu 上运行 Redis 是您可以在 Linux 上运行的最简单的事情。

    【讨论】:

    • 嗨@mythz 感谢您的回答。这对我来说似乎很欺骗,因为通常你会构建一个在不同 SO 中运行的产品,而不是相反。但我同意,虚拟化现在更普遍了。不幸的是,我的客户有本地 Windows 机器,无法提供 ubuntu 机器,所以它需要安装在 Windows 上。我希望有一种更简单的方法,移动部件更少......
    • @JoãoMenighin Redis 是一个为 Unix/Linux 设计的分布式数据结构服务器,它利用了 Windows 上不存在的 fork() 的 COW 等 Linux 特性,因此被遗弃的已知问题Windows 端口。 Redis Labs/Salvatore 对将 Redis 移植到 Windows 没有兴趣,只有微软在他们放弃分叉并全力改进 WSL 之前做了。如果您的客户想要运行 Linux 进程,他们要么需要在 VM 或 WSL 中运行 Linux,否则他们需要运行不受支持的废弃分叉,这是他们唯一的选择。
    • 非常感谢神话。我的客户端 Windows 服务器是 2016 版本,因此我不能使用 WSL 选项。你会推荐任何关于 Redis 虚拟化的好教程,无论是使用 Vagrant、Docker 还是类似的东西? (我当然会搜索,只是想知道你是否知道有什么帮助:))
    • @JoãoMenighin 选项 2 包含 instructions on running in Vagrant 否则 official Redis Docker image 包含在 Docker 中运行 redis 映像的 1 行命令以及有关如何运行自定义版本的示例。
    【解决方案2】:

    如果你正在寻找 Windows 上的 Redis 原生端口,我推荐 www.Memurai.com 它与 Redis 5.0.9 相当,并且具有 Windows EventLog 集成。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2015-01-14
      • 2019-11-23
      • 2021-04-15
      • 2019-11-01
      • 2021-11-29
      相关资源
      最近更新 更多