location /set { content_by_lua ' local dogs = ngx.shared.dogs dogs:set("Jim", 0) ngx.say(dogs:get("Jim")) '; } location /get { content_by_lua ' local dogs = ngx.shared.dogs local age = dogs:get("Jim") + 1 local succ, err, forcible = dogs:set("Jim", age) if succ then ngx.log(ngx.ERR, "errortest: ", age) end ngx.say(age) '; }
location /set {
content_by_lua '
local dogs = ngx.shared.dogs
dogs:set("Jim", 0)
ngx.say(dogs:get("Jim")) ';
}
location /get {
local age = dogs:get("Jim") + 1
local succ, err, forcible = dogs:set("Jim", age)
if succ then
ngx.log(ngx.ERR, "errortest: ", age)
end
ngx.say(age)
';
[root@localhost conf]# ../sbin/nginx -Vnginx version: openresty/1.7.10.1built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)TLS SNI support enabledconfigure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-I/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/include/luajit-2.1 -O2' --add-module=../ngx_devel_kit-0.2.19 --add-module=../echo-nginx-module-0.57 --add-module=../xss-nginx-module-0.04 --add-module=../ngx_coolkit-0.2rc2 --add-module=../set-misc-nginx-module-0.28 --add-module=../form-input-nginx-module-0.10 --add-module=../encrypted-session-nginx-module-0.03 --add-module=../srcache-nginx-module-0.29 --add-module=../ngx_lua-0.9.15 --add-module=../ngx_lua_upstream-0.02 --add-module=../headers-more-nginx-module-0.25 --add-module=../array-var-nginx-module-0.03 --add-module=../memc-nginx-module-0.15 --add-module=../redis2-nginx-module-0.11 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.13 --add-module=../rds-csv-nginx-module-0.05 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/lib' --with-http_ssl_module[root@localhost conf]# uname -aLinux localhost 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost conf]# ../sbin/nginx -Vnginx version: openresty/1.7.10.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-I/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/include/luajit-2.1 -O2' --add-module=../ngx_devel_kit-0.2.19 --add-module=../echo-nginx-module-0.57 --add-module=../xss-nginx-module-0.04 --add-module=../ngx_coolkit-0.2rc2 --add-module=../set-misc-nginx-module-0.28 --add-module=../form-input-nginx-module-0.10 --add-module=../encrypted-session-nginx-module-0.03 --add-module=../srcache-nginx-module-0.29 --add-module=../ngx_lua-0.9.15 --add-module=../ngx_lua_upstream-0.02 --add-module=../headers-more-nginx-module-0.25 --add-module=../array-var-nginx-module-0.03 --add-module=../memc-nginx-module-0.15 --add-module=../redis2-nginx-module-0.11 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.13 --add-module=../rds-csv-nginx-module-0.05 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/lib' --with-http_ssl_module
[root@localhost conf]# uname -aLinux localhost 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
HI,春哥: 频繁更新DICT是否会出现问题呢? 如下代码: 首先curl http://127.0.0.1:8080/set,然后ab -n10000 -c1000 http://127.0.0.1:8080/get ,发现 cat ../logs/error.log |grep errortest|awk '{print $9}'|sort |uniq -c |sort -k 1 打印出来的age有些会重复出现(出现2次)..什么原因导致的呢?还是我的代码问题? location /set { content_by_lua ' local dogs = ngx.shared.dogs dogs:set("Jim", 0) ngx.say(dogs:get("Jim")) '; } location /get { content_by_lua ' local dogs = ngx.shared.dogs local age = dogs:get("Jim") + 1 local succ, err, forcible = dogs:set("Jim", age) if succ then ngx.log(ngx.ERR, "errortest: ", age) end ngx.say(age) '; } 版本信息:[root@localhost conf]# ../sbin/nginx -Vnginx version: openresty/1.7.10.1built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)TLS SNI support enabledconfigure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-I/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/include/luajit-2.1 -O2' --add-module=../ngx_devel_kit-0.2.19 --add-module=../echo-nginx-module-0.57 --add-module=../xss-nginx-module-0.04 --add-module=../ngx_coolkit-0.2rc2 --add-module=../set-misc-nginx-module-0.28 --add-module=../form-input-nginx-module-0.10 --add-module=../encrypted-session-nginx-module-0.03 --add-module=../srcache-nginx-module-0.29 --add-module=../ngx_lua-0.9.15 --add-module=../ngx_lua_upstream-0.02 --add-module=../headers-more-nginx-module-0.25 --add-module=../array-var-nginx-module-0.03 --add-module=../memc-nginx-module-0.15 --add-module=../redis2-nginx-module-0.11 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.13 --add-module=../rds-csv-nginx-module-0.05 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/root/Downloads/ngx_openresty-1.7.10.1/build/luajit-root/usr/local/openresty/luajit/lib' --with-http_ssl_module[root@localhost conf]# uname -aLinux localhost 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux --