Метод: set не работает должным образом в django-redis

Я пытаюсь сохранить IP-адрес в redis с помощью django, но метод set не работает.

Вот мой API в views.py:

def cache_test(request):
    

    ip = str(request.META.get('REMOTE_ADDR'))

    cache.set(ip,'2',timeout=22)
    print(ip)
    print(cache.get(ip))

    #print(radis_cache.get(1))


    return HttpResponse(str(cache.keys('*')))

Настройка CACHES в setting.py

CACHES = {
    'default'   :  {
        'BACKEND'   :      'django_redis.cache.RedisCache',
        'LOCATION'  :      'redis://127.0.0.1:6379/',
        'OPTIONS'   :{
                           'CLIENT_CLASS': 'django_redis.client.DefaultClient',
                }

    }     

Ошибка:

enter image description here

Работает со следующим, но ничего не показывает при получении:

def cache_test(request):
    
    #radis_cache = radis_cache['default']

    ip = str(request.META.get('REMOTE_ADDR'))

    cache.set(ip,'2',timeout=0)
    print(ip)
    print(cache.get(ip))

    #print(radis_cache.get(1))


    return HttpResponse(str(cache.keys('*')))

Я уже пробовал следующее, но ничего не работает:

cache.set(ip,'2')     # Error: wrong number of arguments for 'set' command

cache.set({ip:'2'})   #Error: missing 1 required argument

Список библиотек

asgiref==3.4.1
Django==3.2.7
django-redis==5.0.0
psycopg2==2.9.1
pytz==2021.1
redis==3.5.3
sqlparse==0.4.2
Вернуться на верх