雷迪斯VS. Memcached的

时间:2015-01-15 22:18:54

标签: performance caching redis memcached lru

我现在正在使用memcached作为LRU缓存来缓存大数据。我已将最大对象大小设置为128 MB(我知道这是低效的,不建议使用),并且总memcached为1 GB。但128 MB对我来说还不够,所以我打算搬到Redis。几个问题:

  1. memcached非常慢 - 我当前的memcached设置需要3-4秒才能返回一个请求。这非常慢。我有时需要最多30个memcached请求来提供一个用户请求。这样做需要90秒!我做错了什么或实际上是memcached这么慢?
  2. Redis会更快吗? - 我打算使用Redis列表来缓存数据。我将使用0到-1获取完整列表。我希望Redis更快,因为如果它需要花费90秒,我也可以不使用任何缓存!
  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

我建议进行一些分析,看看瓶颈在哪里。我不知情的猜测是,对于这样大的对象,您可能会受到应用服务器和memcached之间连接的限制,因此您可以通过redis看到类似的结果。它也可能是你的应用程序花了很多时间编组和解组很多对象。如果它很简单,那么尝试一个缓存方案可能是值得的,你只需缓存发送到客户端的请求(我确定远低于128MB)。

尝试的另一件事是打开压缩。这会增加延迟压缩/解压缩,但如果确实是问题,则会减少网络延迟。