openresty缓存
两种缓存方式
1、shared_dict
1.使用--在nginx/conf/nginx.conf 添加
2.使用
纯内存操作,work间可以共享,所以需要锁,保证原子性,
2.lua-resty-lruresty
lru-最近经常使用的意思
使用方法
3。不同:
1.dict的cache是预设内存大小,但是lru并不是。lru预设了key的个数,并且是每个work单独占用,不会再多核间共享,减少锁的竞争,但是内存占用翻倍
2。api不同,lru的api很少,dict的api多
4.openrestry缓存失效风暴,ngx_lua解决方法,请详细了解
注意下,lua_resty_lock已经完成了,加锁wait等过程,注意看下源码