]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Change wrong logic of LRU cache to the right one
authorLeftTry <lerest.go@gmail.com>
Sun, 29 Sep 2024 06:46:30 +0000 (12:46 +0600)
committerLeftTry <lerest.go@gmail.com>
Sun, 29 Sep 2024 06:46:30 +0000 (12:46 +0600)
lualib/redis_scripts/ratelimit_check.lua

index f066610a54c420564ce28e636cabc9e936c3cdcc..f8e34bbf721d86353e484e2f8594c2db827da045 100644 (file)
@@ -86,7 +86,7 @@ if burst + pending > 0 then
   burst = burst + pending
   if burst > 0 and burst > max_burst * dynb then
     redis.call('ZREMRANGEBYRANK', cache_prefix, 0, -(max_cache_size + 1))
-    redis.call('ZINCRBY', cache_prefix, 1, prefix)
+    redis.call('ZADD', cache_prefix, now, prefix) -- LRU cache is based on timestamps of buckets
 
     return { 1, tostring(burst - pending), tostring(dynr), tostring(dynb), tostring(leaked) }
   end