知乎专栏 |
nginx 配置
location /redis { default_type 'text/html'; lua_code_cache on; content_by_lua_file lua/redis.lua; }
lua/redis.lua 程序
[root@netkiller nginx]# cat lua/redis.lua local host = "127.0.0.1" local port = 6379 -- local password = "passw0rd" local password = "" local redis = require("resty.redis") local conn = redis:new() conn:set_timeout(5000) local ok, err = conn:connect(host, port) if not ok then ngx.say("connect to redis error : ", err) return elseif password and password ~= "" then ok, err = conn:auth(password) if not ok then ngx.say("failed to authenticate: ", err) return end end ok, err = conn:set("msg", "hello world") if not ok then ngx.say("set msg error : ", err) end local value, err = conn:get("msg") if not value then ngx.say("get msg error : ", err) end if value == ngx.null then value = '' end ngx.say("msg : ", value) local ok, err = conn:close() if not ok then ngx.say("close redis error:", err) end
list
local lists, err = red:lrange("nokey", 0, -1) ngx.say(lists)
set
red:sadd("city","Shenzhen","Shanghai","Beijing") local citys, err = red:smembers("city") ngx.say(citys) for i, item in ipairs(citys) do ngx.say(item) end