U
    zh1                     @   s6   d dl Z d dlmZ G dd dZG dd deZdS )    N)abstractmethodc                   @   sD   e Zd ZdZedddZeedddZeeedd	d
Z	dS )RemoteCacheBackendzL
    A backend implementation for accessing a remote/distributed cache.
    cache_idc                 C   s   d S N )selfr   r   r   N/var/www/html/venv/lib/python3.8/site-packages/torch/_inductor/remote_cache.py__init__   s    zRemoteCacheBackend.__init__keyc                 C   s   d S r   r   r   r   r   r   r	   get   s    zRemoteCacheBackend.getr   datac                 C   s   d S r   r   r   r   r   r   r   r	   put   s    zRemoteCacheBackend.putN)
__name__
__module____qualname____doc__strr
   r   r   bytesr   r   r   r   r	   r      s   r   c                   @   sL   e Zd ZdZedddZeedddZedd	d
ZeedddZ	dS )RedisRemoteCacheBackendz?
    A Redis implementation of a remote/distributed cache.
    r   c                 C   sB   dd l }d| d| _|jtjddttjddd| _d S )	Nr   zpt2:z:{key}ZTORCHINDUCTOR_REDIS_HOST	localhostZTORCHINDUCTOR_REDIS_PORTi  )hostport)redis_key_fmtZRedisosenvironr   int_redis)r   r   r   r   r   r	   r
      s    z RedisRemoteCacheBackend.__init__)r   returnc                 C   s   | j j|dS )Nr   )r   formatr   r   r   r	   _get_key%   s    z RedisRemoteCacheBackend._get_keyr   c                 C   s   | j | |S r   )r"   r   r%   r   r   r   r	   r   (   s    zRedisRemoteCacheBackend.getr   c                 C   s   | j | ||S r   )r"   setr%   r   r   r   r	   r   +   s    zRedisRemoteCacheBackend.putN)
r   r   r   r   r   r
   r%   r   r   r   r   r   r   r	   r      s
   	r   )r   abcr   r   r   r   r   r   r	   <module>   s   