gpt4 book ai didi

python - 为什么 Django 的缓存与 locmem 一起工作但与 memcached 一起失败?

转载 作者:太空狗 更新时间:2023-10-30 02:35:42 25 4
gpt4 key购买 nike

将 Django 的缓存与 locmem(使用简单的 Python 类作为值存储在列表/元组/映射中)一起使用效果很好,但不适用于 memcached。

只有一小部分键(尽管分配了充足的内存和长时间超时)进入了 memcached,而且它们似乎都没有任何关联值。

检索它们时,不会返回任何值并将它们从缓存中删除。

强制值为“hi”会使那些出现在缓存中的键可检索,但不能解释为什么大多数键根本不存在。

问题:

  1. 即使所有值都设置为“hi”,为什么只有某些键最终会进入 memcached 而其他键不会?
  2. 有什么方法可以启用更多日志记录或错误报告吗? (一切似乎都无声地失败了)
  3. 为什么 Python 类可以正确序列化到 locmem,但最终不会出现在 Memcached 中?

最佳答案

要了解发生了什么,请运行 memcached -vv 2>/tmp/mc_debug_log(我假设您使用的是某种 Unixy 系统)并运行它 时间短 -- 完成后您会在该日志文件中找到详细信息。

根据您使用的 memcached 的 Python 接口(interface),可能仅支持字符串作为值(如 cmemcache 中的 StringClient 模块)或所有可腌制对象(具有腌制和取消腌制的开销)当然),就像在同一个 cmemcache 中的更通用的 Client 模块中一样,GAE 的 memcache , 和 python-memcached ;如果您只能使用字符串作为值,大概您使用的是前一种类型的接口(interface)?

关于python - 为什么 Django 的缓存与 locmem 一起工作但与 memcached 一起失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1101049/

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