← Back
Editing: locmem.cpython-311.pyc
� �|�eA � �j � d Z ddlZddlZddlmZ ddlmZ ddlmZm Z i Z i Zi Z G d� de � � Z dS )z$Thread-safe in-memory cache backend.� N)�OrderedDict)�Lock)�DEFAULT_TIMEOUT� BaseCachec � � � e Zd Zej Z� fd�Zedfd�Zdd�Z efd�Z edfd�Zedfd�Zdd �Z dd �Zd� Zd� Zd � Zdd�Zd� Z� xZS )�LocMemCachec �: �� t � � � |� � t � |t � � � � | _ t � |i � � | _ t � |t � � � � | _ d S �N) �super�__init__�_caches� setdefaultr �_cache�_expire_info�_locksr �_lock)�self�name�params� __class__s ��C/usr/lib/python3/dist-packages/django/core/cache/backends/locmem.pyr zLocMemCache.__init__ sm �� � ������ � � ��(�(��{�}�}�=�=���(�3�3�D�"�=�=����&�&�t�T�V�V�4�4�� � � � Nc �H � | � ||�� � }| � |� � t j || j � � }| j 5 | � |� � r%| � |||� � d d d � � dS d d d � � dS # 1 swxY w Y d S )N��versionTF)�make_key�validate_key�pickle�dumps�pickle_protocolr �_has_expired�_set�r �key�value�timeoutr �pickleds r �addzLocMemCache.add s � ��m�m�C��m�1�1�����#�����,�u�d�&:�;�;�� �Z� � �� � ��%�%� �� � �#�w��0�0�0�� � � � � � � � � � � � � � � � � � � � � ���� � � � � � s �.B� B�B�Bc � � | � ||�� � }| � |� � | j 5 | � |� � r#| � |� � |cd d d � � S | j | }| j � |d�� � d d d � � n# 1 swxY w Y t j |� � S )Nr F��last) r r r r! �_deleter �move_to_endr �loads)r r$ �defaultr r'