Django_使用redis缓存数据
一、配置redis
在settings中添加配置参数
# Django的缓存配置 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", # 声明使用redis作为缓存 "LOCATION": "redis://:123456@192.168.3.66:6379/3", # 连接redis的url地址 "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } }
二、缓存Django的默认session
如果需要将session存储到redis中,还需要增加下面的配置参数
# 配置session存储 SESSION_ENGINE = "django.contrib.sessions.backends.cache" SESSION_CACHE_ALIAS = "default"
查看session是否保存至redis中
三、使用django的缓存机制缓存数据
import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dailyfresh.settings') django.setup() # 导入django自带的缓存对象 from django.core.cache import cache # 设置缓存数据 cache.set("test3", "cache")
注意:会有默认设置过期时间
四、自定义缓存数据
使用自定义的缓存需要安装依赖包django-redis
pip install django-redis
代码实现如下
import os from django_redis import get_redis_connection # 导入配置django配置文件 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dailyfresh.settings') # 建立redis连接。连接django配置中的default配置的redis redis_client = get_redis_connection("default") # 插入字符类型值 redis_client.set("test_1", "123456") # 获取字符类型值 ret = redis_client.get("test_1") print(ret) # 插入hash值 redis_client.hset("test_2", mapping={"a": "1", "b": "2"}) # 获取hash类型值 ret = redis_client.hget("test_2", "a") print(ret) # 其它类型也一样
代码执行结果:
查看redis中插入的数据