← Back
Editing: memcached.cpython-311.pyc
� �|�eR$ � �� � d Z ddlZddlZddlZddlZddlmZmZmZm Z ddl mZ ddlm Z G d� de� � Z G d� d e� � Z G d � de� � Z G d� d e� � ZdS )zMemcached cache backend� N)�DEFAULT_TIMEOUT� BaseCache�InvalidCacheKey�memcache_key_warnings)�RemovedInDjango41Warning)�cached_propertyc �� � � e Zd Z� fd�Zed� � � Zed� � � Zefd�Z edfd�Z dd�Zedfd�Zedfd �Z dd �Zdd�Zd� Zdd�Zdd�Zedfd�Zdd�Zd� Zd� Z� xZS )�BaseMemcachedCachec �$ �� t � � � |� � t |t � � rt j d|� � | _ n|| _ || _ || _ |j | _ |� d� � pi | _ d S )Nz[;,]�OPTIONS) �super�__init__� isinstance�str�re�split�_servers�LibraryValueNotFoundException�_lib�Client�_class�get�_options)�self�server�params�library�value_not_found_exception� __class__s ��F/usr/lib/python3/dist-packages/django/core/cache/backends/memcached.pyr zBaseMemcachedCache.__init__ s� �� � ������ � � ��f�c�"�"� #��H�V�V�4�4�D�M�M�"�D�M� .G��*��� ��n���� � �9�-�-�3��� � � � c � � | j S �N)r �r s r �client_serversz!BaseMemcachedCache.client_servers s � ��}�r! c �2 � | j | j fi | j ��S )zQ Implement transparent thread-safe access to a memcached client. )r r% r r$ s r �_cachezBaseMemcachedCache._cache# s# � � �t�{�4�.�@�@�$�-�@�@�@r! c �� � |t k r| j }|�dS t |� � dk rd}|dk r#|t t j � � � � z }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 �'