memc_flags_to_last_modified
指令 `memc_flags_to_last_modified` 将 Memcached 标志设置为缓存响应的 Last-Modified 时间戳。
Extended version of the standard NGINX memcached module
·
locationif in location
语法memc_flags_to_last_modified flag;
默认值none
上下文location, if in location
参数flag
说明
指令 memc_flags_to_last_modified 修改了来自 Memcached 的响应中标志的设置方式。当启用此指令并返回缓存响应时,它会将现有的 Memcached 标志转换为 HTTP 的 Last-Modified 时间戳格式。这允许用户基于内容的修改时间来管理缓存过期和验证,从而更好地控制缓存行为并启用高效的缓存失效策略。
该指令可以带一个 flag 参数,应该根据你在缓存策略中如何使用这些标志来指定该参数。指定该 flag 将决定 Memcached 如何解释和设置这些时间戳。具体来说,该行为在处理缓存命中时生效;响应将反映实际的最后修改时间,而不是使用固定或默认的标志,这允许更动态和具有上下文感知的缓存场景。
例如,在创建严重依赖数据新鲜度的应用时,使用此指令可以通过确保用户在内容变化后尽快收到最新内容来改善用户体验。对于缓存内容频繁更新的场景尤其有用,因为客户端可以使用提供的 Last-Modified header 有效管理缓存状态。
配置示例
location /foo {
set $memc_key $arg_key;
memc_pass 127.0.0.1:11211;
memc_flags_to_last_modified some_flag;
}⚠
确保 flags 参数已正确设置;错误的 flags 可能导致意外行为。
⚠
在没有适当缓存策略的情况下使用此 directive,如果不谨慎管理,可能会返回陈旧数据。