Source code for redis_func_cache.policies.fifo

"""FIFO eviction policies"""

from typing import final

from ..mixins.hash import PickleMd5HashMixin
from ..mixins.scripts import FifoScriptsMixin, FifoTScriptsMixin
from .base import BaseClusterMultiplePolicy, BaseClusterSinglePolicy, BaseMultiplePolicy, BaseSinglePolicy

__all__ = (
    "FifoPolicy",
    "FifoClusterPolicy",
    "FifoClusterMultiplePolicy",
    "FifoMultiplePolicy",
    "FifoTPolicy",
    "FifoTClusterPolicy",
    "FifoTClusterMultiplePolicy",
    "FifoTMultiplePolicy",
)


[docs] @final class FifoPolicy(FifoScriptsMixin, PickleMd5HashMixin, BaseSinglePolicy): """ FIFO eviction policy, single key pair. .. inheritance-diagram:: FifoPolicy :parts: 1 All decorated functions share the same Redis key pair. """ __key__ = "fifo"
[docs] @final class FifoMultiplePolicy(FifoScriptsMixin, PickleMd5HashMixin, BaseMultiplePolicy): """ FIFO eviction policy, multiple key pairs. .. inheritance-diagram:: FifoMultiplePolicy :parts: 1 Each decorated function has its own Redis key pair. """ __key__ = "fifo-m"
[docs] @final class FifoClusterPolicy(FifoScriptsMixin, PickleMd5HashMixin, BaseClusterSinglePolicy): """ FIFO eviction policy with Redis cluster support, single key pair. .. inheritance-diagram:: FifoClusterPolicy :parts: 1 All decorated functions share the same Redis key pair. """ __key__ = "fifo-c"
[docs] @final class FifoClusterMultiplePolicy(FifoScriptsMixin, PickleMd5HashMixin, BaseClusterMultiplePolicy): """ FIFO eviction policy with Redis cluster support, multiple key pairs. .. inheritance-diagram:: FifoClusterMultiplePolicy :parts: 1 Each decorated function has its own Redis key pair. """ __key__ = "fifo-cm"
[docs] @final class FifoTPolicy(FifoTScriptsMixin, PickleMd5HashMixin, BaseSinglePolicy): """ FIFO eviction policy (timestamp variant), single key pair. .. inheritance-diagram:: FifoTPolicy :parts: 1 All decorated functions share the same Redis key pair. """ __key__ = "fifo_t"
[docs] @final class FifoTMultiplePolicy(FifoTScriptsMixin, PickleMd5HashMixin, BaseMultiplePolicy): """ FIFO eviction policy (timestamp variant), multiple key pairs. .. inheritance-diagram:: FifoTMultiplePolicy :parts: 1 Each decorated function has its own Redis key pair. """ __key__ = "fifo_t-m"
[docs] @final class FifoTClusterPolicy(FifoTScriptsMixin, PickleMd5HashMixin, BaseClusterSinglePolicy): """ FIFO eviction policy (timestamp variant) with Redis cluster support, single key pair. .. inheritance-diagram:: FifoTClusterPolicy :parts: 1 All decorated functions share the same Redis key pair. """ __key__ = "fifo_t-c"
[docs] @final class FifoTClusterMultiplePolicy(FifoTScriptsMixin, PickleMd5HashMixin, BaseClusterMultiplePolicy): """ FIFO eviction policy (timestamp variant) with Redis cluster support, multiple key pairs. .. inheritance-diagram:: FifoTClusterMultiplePolicy :parts: 1 Each decorated function has its own Redis key pair. """ __key__ = "fifo_t-cm"