gpt4 book ai didi

caching - 堆叠缓存引擎

转载 作者:可可西里 更新时间:2023-11-01 11:43:55 26 4
gpt4 key购买 nike

我试图更好地理解缓存引擎的差异,以及哪些引擎可以相互叠加。现在我们有两个网络服务器和一个单独的数据库服务器。我们将通过 TCP 使用 Redis,以便两个网络服务器共享相同的缓存。我对 Varnish 或 eAccelerator 很感兴趣——据我所知,eAccelerator 是一个 php 缓存引擎,而 Redis 类似于 Memcached 是一个数据库缓存——那么这两个应该叠加吗?那么 Varnish 呢?据我了解,Memcached 和 Redis 是相互排斥的。

最佳答案

Memcached and Redis are mutually exclusive as I understand.

在大多数情况下,是的。但是,如果您的数据集超出了 RAM(单个节点)通常可以容纳的范围,则 memcached 的扩展性优于 Redis,因为大多数 memcached 客户端库支持在一组 memcached 节点之间分布数据的一致性哈希,因此所有内存的总 RAM节点成为您的总数据集容量;只需添加更多 Memcached 节点即可增加容量。

您可以使用 Redis 进行分片(水平扩展)以支持更大的数据集,但这样做的选择有限。微博开发twemproxy跨一组redis节点对redis键进行分片;同时Redis Cluster仍在进行中,twemproxy 是扩展 redis 的推荐方法。

所以使用一个或另一个;你不需要两者,但在任何一种情况下,网络/应用程序服务器通常是 memcached/redis 的客户端。

I'm interested in Varnish, or eAccelerator - as I understand eAccelerator is a php-caching engine.

Varnish 是一个反向缓存代理,驻留在您的应用程序/网络服务器前面。它缓存整个呈现的页面并大大减少应用服务器上的负载。它通常是典型网络堆栈中的入口点(不包括负载均衡器)。

我没有使用 eAccelerator 的经验,但根据快速研究,它与 Varnish 并不相互排斥。典型的堆栈可能包括与 PHP/eAccelerator 或 APC 对话的 Varnish (也检查一下)。此外,您可能需要考虑将 nginx 添加到组合中,请参阅 this .

希望对你有帮助

关于caching - 堆叠缓存引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17896555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com