我使用nginx共享内存来保存一些东西:
local ok = shared:safe_set(key, value, timeout)
发现大量错误:
2013/07/17 11:34:34 [crit] 10158#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
2013/07/17 11:34:34 [crit] 10160#0: ngx_slab_alloc() failed: no memory in lua_shared_dict zone "packages"
然后我改了一下代码:
local ok = shared:safe_set(key, value, timeout)
if not ok then
shared:flush_all()
end
重启nginx后,用不了多久又会一片一片的报错,看上去好像flush_all没生效似的。
请明白人答疑解惑