Source code for redis_func_cache.mixins.scripts

"""Some mixins with lua scripts defined for policies."""

from abc import ABC

__all__ = (
    "AbstractScriptsMixin",
    "FifoScriptsMixin",
    "FifoTScriptsMixin",
    "LfuScriptsMixin",
    "LruScriptsMixin",
    "MruScriptsMixin",
    "RrScriptsMixin",
    "LruTScriptsMixin",
)


[docs] class AbstractScriptsMixin(ABC): """Abstract scripts mixin. .. inheritance-diagram:: AbstractScriptsMixin :parts: 1 Attributes: __scripts__ (tuple[str, str]): A pair of file name for ‘get’ and ‘put’ Lua scripts to be used by the policy. """ __scripts__: tuple[str, str]
[docs] class FifoScriptsMixin(AbstractScriptsMixin): """Scripts mixin for fifo policy. .. inheritance-diagram:: FifoScriptsMixin :parts: 1 """ __scripts__ = "fifo_get.lua", "fifo_put.lua"
[docs] class FifoTScriptsMixin(AbstractScriptsMixin): """Scripts mixin for fifo policy. .. inheritance-diagram:: FifoTScriptsMixin :parts: 1 """ __scripts__ = "fifo_get.lua", "fifo_t_put.lua"
[docs] class LfuScriptsMixin(AbstractScriptsMixin): """Scripts mixin for lfu policy. .. inheritance-diagram:: LfuScriptsMixin :parts: 1 """ __scripts__ = "lfu_get.lua", "lfu_put.lua"
[docs] class LruScriptsMixin(AbstractScriptsMixin): """Scripts mixin for lru policy. .. inheritance-diagram:: LruScriptsMixin :parts: 1 """ __scripts__ = "lru_get.lua", "lru_put.lua"
MruScriptsMixin = LruScriptsMixin
[docs] class LruTScriptsMixin(AbstractScriptsMixin): """Scripts mixin for lru-t policy. .. inheritance-diagram:: LruTScriptsMixin :parts: 1 """ __scripts__ = "lru_t_get.lua", "lru_t_put.lua"
[docs] class RrScriptsMixin(AbstractScriptsMixin): """Scripts mixin for rr policy. .. inheritance-diagram:: RrScriptsMixin :parts: 1 """ __scripts__ = "rr_get.lua", "rr_put.lua"