在Windows [Redis 64Bit]下是否可以在生产环境中使用?

时间:2016-01-19 09:38:30

标签: windows redis

我在开发环境中使用此版本:Redis-64

我想知道这个版本是否适合生产环境?

如果可以使用,那么与Linux相比,需要注意什么?

1 个答案:

答案 0 :(得分:5)

从版本3.0.3开始,windows端口开发人员放弃了dlmalloc并开始使用jemalloc作为内存分配器。该端口实际上被考虑用于生产用途。 3.0.500版本已获得ms开发人员(see here)批准生产。

还有一些地狱,所以他们绕过unix fork将数据保存到磁盘。 Microsoft开发人员将其命名为point-in-time heap snapshot。这是生产中最具争议的部分:

  

Windows下的Redis可能需要比Linux版本更多 3倍的内存。这种行为被认为是正常的,因为窗口中的交换文件很容易比实际的RAM大3倍。

我认为只有将Redis用作LRU缓存才能将数据保存到磁盘上才能接受。

如果Redis节点使用大量内存,至少Redis在Windows下是绝对容易受到影响的。例如 - 我们尝试在服务器上使用Redis for windows(v2.8,v3.0.3,v3.0.5),其中512 GB的内存和2个SSD驱动器(raid 0中每个256 gb)用作系统磁盘。 Windows交换文件没有任何限制。我们的测试模拟了我们的生产 - 使用RDB进行大量写入和保存,利用率约为内存的60-70%。这里有很多动手行为,然后这个节点试图保存快照 - 内存消耗跳跃,保存期间连接冻结。这种行为在相同的硬件上从未发生过undex linux。