/usr/local/lib/python3.9/site-packages/django/core/cache/backends/__pycache__
a Ӱ�h� � @ sl d Z ddlZddlZddlmZmZmZmZ ddlm Z G dd� de�Z G dd� de �ZG d d � d e �ZdS )zMemcached cache backend� N)�DEFAULT_TIMEOUT� BaseCache�InvalidCacheKey�memcache_key_warnings)�cached_propertyc s� e Zd Z� fdd�Zedd� �Zedd� �Zefdd�Z ed fd d�Z d#dd �Zed fdd�Zed fdd�Z d$dd�Zd%dd�Zdd� Zd&dd�Zed fdd�Zd'dd�Zdd � Zd!d"� Z� ZS )(�BaseMemcachedCachec sT t � �|� t|t�r&t�d|�| _n|| _|| _|| _|j | _ |�d�pLi | _d S )Nz[;,]�OPTIONS) �super�__init__� isinstance�str�re�split�_servers�LibraryValueNotFoundException�_libZClient�_class�get�_options)�self�server�params�library�value_not_found_exception�� __class__� �N/usr/local/lib/python3.9/site-packages/django/core/cache/backends/memcached.pyr s zBaseMemcachedCache.__init__c C s | j S �N)r �r r r r �client_servers s z!BaseMemcachedCache.client_serversc C s | j | jfi | j��S )zQ Implement transparent thread-safe access to a memcached client. )r r r r r r r �_cache# s zBaseMemcachedCache._cachec C sJ |t kr| j}|du rdS t|�dkr*d}|dkrB|tt�� �7 }t|�S )z� Memcached deals with long (> 30 days) timeouts in a special way. Call this function to obtain a safe value for your timeout. Nr ���i �'