commit 79e3360: [Feature] Maps: Allow caching for complex maps
Vsevolod Stakhov
vsevolod at highsecure.ru
Wed Aug 28 07:35:05 UTC 2019
Author: Vsevolod Stakhov
Date: 2019-08-27 19:20:51 +0100
URL: https://github.com/rspamd/rspamd/commit/79e3360f4d091ebbc53e944cf882029156469383
[Feature] Maps: Allow caching for complex maps
---
lualib/lua_maps.lua | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lualib/lua_maps.lua b/lualib/lua_maps.lua
index 094494dca..23e5cb942 100644
--- a/lualib/lua_maps.lua
+++ b/lualib/lua_maps.lua
@@ -21,6 +21,7 @@ limitations under the License.
local rspamd_logger = require "rspamd_logger"
local ts = require("tableshape").types
+local lua_util = require "lua_util"
local exports = {}
@@ -137,8 +138,14 @@ local function rspamd_map_add_from_ucl(opt, mtype, description)
return ret
end
elseif type(opt) == 'table' then
- -- it might be plain map or map of plain elements
- -- no caching in this case (yet)
+ local k = lua_util.table_digest(opt)
+ if maps_cache[k] then
+ rspamd_logger.infox(rspamd_config, 'reuse url for %s(%s)',
+ opt, mtype)
+
+ return maps_cache[k]
+ end
+
if opt[1] then
if mtype == 'radix' then
More information about the Commits
mailing list