nginx 不像 ATS 支持强大的正则删除缓存规则。找了一个模块看了下
https://github.com/FRiCKLE/ngx_cache_purge 这个看了下只支持绝对 url 清除缓存,并不支持 /image/*这种方式清除,这就很不方便了。
另外看到一个
https://github.com/diego-treitos/nginx_cache_multipurge 这个支持泛清除。一看源代码基本是遍历删除的路子啊
os.execute( "find '"..cmp_cache_path.."' -name '"..cache_key_md5.."' -type f -exec rm {} + -quit" )
难道 nginx 泛 purge 都只能通过遍历实现吗?上亿文件这根本不行啊。ATS 似乎有他自己的文件系统,所以实现泛 purge 应该不需要遍历