在Django中如何使用Redis
Posted surpass_w
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django中如何使用Redis相关的知识,希望对你有一定的参考价值。
在Django中如何使用Redis
通用方式
在utils
下建立redis_pool.py文件
# 单例模式
import redis
POOL = redis.ConnectionPool(host="127.0.0.1",port=6379,max_connections=1000)
在视图函数中使用
import redis
from django.shortcuts import render,HttpResponse
from utils.redis_pool import POOL
def index(request):
conn = redis.Redis(connection_pool=POOL)
conn.hset(‘beast‘,{‘name‘:‘kevin‘,‘age‘:38})
return HttpResponse(‘设置成功‘)
def order(request):
conn = redis.Redis(connection_pool=POOL)
conn.hget(‘beast‘,‘name‘)
return HttpResponse(‘获取成功‘)
使用Django Redis
# 下载安装django-redis
pip install django-redis
# redis配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 1000}
# "PASSWORD": "123",
}
}
}
django默认不支持redis缓存
完成上述配置后,之后所有的缓存都存到redis中
使用方式:
# 方式一 直接使用django的cache
from django.core.cache import cache
cache.set(‘name‘,‘lqz‘)
方式二:
# 使用conn对象
from django_redis import get_redis_connection
conn = get_redis_connection(‘default‘)
conn.set(‘name‘,‘lxx‘)
获取name
的属性
import redis
from utils.redis_pool import POOL
conn = redis.Redis(connection_pool=POOL)
name = conn.get(‘name‘)
以上是关于在Django中如何使用Redis的主要内容,如果未能解决你的问题,请参考以下文章
如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?