💡
原文中文,约6500字,阅读约需16分钟。
📝
内容提要
在APISIX 3.10.0版本中,lrucache结合了resty-lrucache和resty-lock机制。创建时可设置类型、容量和过期时间,默认插件类型容量为8,其他类型为1024,过期时间分别为5分钟和60分钟。fetch_valid_cache函数用于获取缓存,若未命中则调用create_obj_fun创建并缓存对象。plugin_ctx函数用于插件缓存对象,需在公共模块中使用extra_key以避免不同插件获取相同对象。
🎯
关键要点
- APISIX 3.10.0版本中,lrucache结合了resty-lrucache和resty-lock机制。
- 创建lrucache时可设置类型、容量和过期时间,默认插件类型容量为8,其他类型为1024,过期时间分别为5分钟和60分钟。
- fetch_valid_cache函数用于获取缓存,未命中时调用create_obj_fun创建并缓存对象。
- plugin_ctx函数用于插件缓存对象,需在公共模块中使用extra_key以避免不同插件获取相同对象。
- serial_creating选项决定是否在lrucache流程中上锁,确保缓存对象的串行创建。
- fetch_valid_cache函数处理缓存命中和过期逻辑,支持使用陈旧值的配置。
- 提供了一个快捷创建插件lrucache的函数,简化了缓存对象的创建过程。
- 使用plugin_ctx时需注意extra_key的设置,以避免不同插件间的资源冲突。
🏷️
标签
➡️