Train 系列发布说明¶
1.37.1-5¶
新特性¶
添加新的选项 (
hashclient_retry_attempts,hashclient_retry_delay,dead_timeout) 以允许通过 dogpile.cache 的 pymemcache 后端配置 pymemcache 的 HashClient 使用。这些选项公开了 pymemcache 参数,允许配置 memcached 集群的故障转移。
添加新的选项 (
enable_retry_client,retry_attempts,retry_delay) 以向 pymemcache 后端添加重试机制。
新的选项 (
enable_socket_keepalive,socket_keepalive_idle,socket_keepalive_interval,socket_keepalive_count) 允许使用和配置 pymemcache 的 socket keepalive 功能。
1.37.1¶
新特性¶
添加了一个新的 memcached 驱动程序,它通过 dogpile.cache 使用 pymemcache。
如果愿意使用此驱动,请确保已安装 dogpile.cache>=1.1.2 和 pymemcache>=3.4.0。
1.37.0¶
升级说明¶
已将
memcache_socket_timeout的默认值从 3 秒降低到 1 秒。这种积极影响可以在下游 更改 中找到。如果您的部署明确依赖于 3 秒的超时时间,请在您的配置中设置该覆盖。
1.34.0¶
错误修复¶
[bug 1819957] 如果一个 memcache 服务器消失然后重新连接,当使用多个 memcache 服务器时(特定于基于 python-memcached 的后端),服务器可能包含过时的数据。默认情况下,现在是将可选参数
flush_on_reconnect提供给后端。这意味着当服务连接到 memcache 服务器时,它将刷新服务器中的所有缓存数据。此更改仅影响池后端,因为它是最有可能(大量使用 greenlet)受到此问题影响,并且是推荐的生产配置。请参阅 python-memcached 的帮助
- @param flush_on_reconnect: 可选标志,可防止
可能导致读取过时数据的场景:如果存在多个 memcached 服务器并且与其中一个的连接中断,映射到该服务器的键将被重新分配到另一个服务器。如果第一个服务器恢复,这些键将再次映射到它。如果它仍然保留其数据,get() 可能会读取在另一个服务器上覆盖的过时数据。默认情况下,此标志关闭以保持向后兼容性。