Метод: 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',
}
}
Ошибка:
Работает со следующим, но ничего не показывает при получении:
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