From a662650dc7c5ccf8f58afc26a5fdf57c33e03805 Mon Sep 17 00:00:00 2001 From: wanglei <34475144@qqcom> Date: Sat, 8 Nov 2025 15:08:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9redis=E9=83=A8=E5=88=86=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/share/redis.lua | 4 ---- src/test/test.lua | 4 ++-- src/util/permissionfilter.lua | 7 +++++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/share/redis.lua b/src/share/redis.lua index c208848..52c0ed9 100644 --- a/src/share/redis.lua +++ b/src/share/redis.lua @@ -59,8 +59,4 @@ function _M:ttl(key) return self.red:ttl(key) end -function _M:call(key, ...) - return self.red:call(key, ...) -end - return _M \ No newline at end of file diff --git a/src/test/test.lua b/src/test/test.lua index f071e17..78d9771 100644 --- a/src/test/test.lua +++ b/src/test/test.lua @@ -335,12 +335,12 @@ end local perm = require("util.permissionfilter") -local rest = perm.getRolePermissions("admin") +local rest = perm:getRolePermissions("admin") for _, row in pairs(rest) do print(row.key) end -perm.clearRolePermissions("admin") +perm:clearRolePermissions("admin") --读取用户表、角色表和权限表中配置的权限数据 local roleDao = require("dao.role") diff --git a/src/util/permissionfilter.lua b/src/util/permissionfilter.lua index beeb2a5..ef4a66a 100644 --- a/src/util/permissionfilter.lua +++ b/src/util/permissionfilter.lua @@ -59,7 +59,10 @@ function _M:getRolePermissions(role_name) local prefix = role_name.."-" local cursor = "0" local result = red:call('SCAN', cursor, 'MATCH', prefix .. '*', 'COUNT') - cursor = result[1] + if result == false then + return allPermissions + end + --cursor = result[1] for _, key in ipairs(result[2]) do table.insert(allPermissions, key) end @@ -70,7 +73,7 @@ end function _M:clearRolePermissions(role_name) --将redis中角色相关的键值去掉 local keys = red:call("KEYS", role_name.."-*") - if #keys > 0 then + if keys then red:call("DEL", unpack(keys)) end end