【问题标题】:Zero evictions memcached, but items still disappear零驱逐 memcached,但项目仍然消失
【发布时间】:2013-06-26 08:31:25
【问题描述】:

存储在 Memcached 中的项目似乎无故消失(TTL:86400,但有时会在 60 秒内消失)。但是有足够的可用空间,并且统计数据显示为零驱逐。

丢失的物品似乎是较大的物品。添加其他一些大项目后,它们似乎消失了。是否会出现较大物品的“平板”已满并且物品被驱逐而没有报告的情况?

Memcached 版本 1.4.5。

【问题讨论】:

  • 你能找回那些项目吗?失踪的可预测性如何?你能写一段代码 sn-p 来准确重现这个问题吗?
  • 你能找回那些项目吗?是的,有时我可以长时间检索它们,有时它会在 60 多岁时消失。失踪的可预测性如何?完全不可预测。你能写一段代码 sn-p 来准确重现这个问题吗?
  • 我无法编写重现该问题的代码。我认为这与平板已满有关,而不是与代码有关。我想验证一下,物品可以在没有被驱逐的情况下被扔掉(这不太可能,但我唯一能想到的)。

标签: memcached


【解决方案1】:

密钥可以在 memcached 中过期之前被驱逐;这是 memcached 处理内存的副作用 (see this answer for more details)。

如果您存储的项目足够大以至于这会成为一个问题,那么 memcached 可能是您尝试执行的任务的错误工具。在这种情况下,您基本上有 2 个实用选项:

  • 将您尝试缓存的数据分解为更小的块
  • 如果由于任何原因这不可行,您将不得不使用某种永久存储,其性质将取决于您尝试存储的数据的性质(选择包括 redis、mongodb、 SQL 数据库、文件系统等)

【讨论】:

  • 但 memcached 报告 0 次驱逐。我也有同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 2011-10-15
  • 2017-05-04
  • 1970-01-01
相关资源
最近更新 更多