From 5660d561be37e6c429b88ea80629b7dd64bb0f5c Mon Sep 17 00:00:00 2001 From: wanglei <34475144@qq.com> Date: Wed, 5 Nov 2025 22:00:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0redis=E7=B1=BB=E8=BF=9B?= =?UTF-8?q?=E8=A1=8Credis=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E6=93=8D?= =?UTF-8?q?=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/share/redis.lua | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/share/redis.lua diff --git a/src/share/redis.lua b/src/share/redis.lua new file mode 100644 index 0000000..7abbd06 --- /dev/null +++ b/src/share/redis.lua @@ -0,0 +1,62 @@ +local redis = require("resty.redis") +local conf = require('config') + +local _M = setmetatable({}, {__index=function(self, key) + local red = redis:new() + local ok,err = red:connect(conf.REDIS.HOST, conf.REDIS.POST, conf.REDIS.PASSWORD) + if not ok then + ngx.log(ngx.ERR, err) + end + if key == 'red' then + return red + end +end}) + +function _M:set(key, value, time) + local ok, err = self.red:set(key, value) + if not ok then + return false, "redis failed to set data: " .. err + end + if time then + ok,err = self.red:expire(key, time) -- default expire time is seconds + if not ok then + return false,err + end + end + return true +end + +function _M:get(key) + local value = self.red:get(key) + if value == ngx.null then + return nil + else + return value + end +end + +function _M:del(key) + return self.red:del(key) +end + +function _M:expire(key, time) + local ok,err = self.red:expire(key, time) -- default time is seconds + if not ok then + return false,err + end + return true +end + +function _M:incr(key) + local ok,err = self.red:incr(key) + if not ok then + return false, err + end + return true +end + +function _M:ttl(key) + return self.red:ttl(key) +end + +return _M \ No newline at end of file