2

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

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

内存缓存版本 1.4.5。

4

1 回答 1

0

密钥可以在 memcached 中到期之前被驱逐;这是 memcached 如何处理内存的副作用(有关详细信息,请参阅此答案)。

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

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