首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了4GB的限制之外,还有什么理由不使用Redis 32位(相对于64位)?

除了4GB的限制之外,还有什么理由不使用Redis 32位(相对于64位)?
EN

Stack Overflow用户
提问于 2013-07-06 22:47:20
回答 1查看 2.3K关注 0票数 6

我关心的是一个盒子,在这个盒子上我运行了几个redis实例。在此之前,我正在考虑搬到Redis 32位,因为这应该会为我节省相当多的资源。

来自enter link description here

使用32位目标编译的Redis每个键使用的内存要少得多,因为指针很小,但是这样的实例将被限制在4GB的最大内存使用量范围内。要将Redis编译为32位二进制文件,请使用make 32位。RDB和AOF文件在32位和64位实例之间(当然还有小的和大端之间)是兼容的,所以您可以从32位切换到64位,或者相反,没有问题。

正如引用中所说的,对于32位上的redis实例来说,4GB是最大的,但是我要确保我没有点击这个。我确实使用了多个redis实例,每个实例都停留在4GB以下,但我想这不是一个问题(?)

还有其他的原因,比如表现,我应该留心吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-07 08:11:47

使用多个32位Redis实例通常运行良好。不过,您需要考虑以下几个缺点:

  • 大多数人运行64位版本,因此32位版本的测试和部署要少得多。这使得它不那么可靠,因为它增加了您可能遇到的未被检测到的漏洞。
  • 有些操作在32位内效率较低。例如,BITOP、BITCOUNT操作在64位CPU上运行时应该更高效。
  • 很难设置内存限制。设置maxmemory参数是很棘手的,因为您还必须考虑数据的大小(但也要考虑内部通信缓冲区、主/从复制缓冲区、I/O缓冲区等)。如果您太乐观(也就是说,如果您将maxmemory设置得太接近4GB),那么当Redis内存饱和时,就会出现随机崩溃。

你也许还想看看塞尔瓦托说过的话:

https://groups.google.com/forum/#!topic/redis-db/ThCVJdMrqCE

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17507780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档