Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
Source code for libbot.cache.classes.cache
from abc import ABC , abstractmethod
from typing import Any , Dict , Optional
import pymemcache
import redis
[docs]
class Cache ( ABC ):
client : pymemcache . Client | redis . Redis
[docs]
@classmethod
@abstractmethod
def from_config ( cls , engine_config : Dict [ str , Any ]) -> Any :
pass
[docs]
@abstractmethod
def get_json ( self , key : str ) -> Any | None :
# TODO This method must also carry out ObjectId conversion!
pass
[docs]
@abstractmethod
def get_string ( self , key : str ) -> str | None :
pass
[docs]
@abstractmethod
def get_object ( self , key : str ) -> Any | None :
pass
[docs]
@abstractmethod
def set_json ( self , key : str , value : Any , ttl_seconds : Optional [ int ] = None ) -> None :
# TODO This method must also carry out ObjectId conversion!
pass
[docs]
@abstractmethod
def set_string ( self , key : str , value : str , ttl_seconds : Optional [ int ] = None ) -> None :
pass
[docs]
@abstractmethod
def set_object ( self , key : str , value : Any , ttl_seconds : Optional [ int ] = None ) -> None :
pass
[docs]
@abstractmethod
def delete ( self , key : str ) -> None :
pass