1、所有框架都能用的方式
-先新建一个py文件,生成一个redis连接池;
-需要在哪里用,就把这个py文件导过去;
举例:
在app下新建一个py文件,redis_pool.py:
单独新建的原因是,使用时导过去就行了,如果直接和程序写在一起,那么每次执行程序,都会新建一个连接池,
所以……
views.py
from django.shortcuts import render, HttpResponse from app01.redis_pool import POOL from redis import Redis # Create your views here. def index(request): conn = Redis(connection_pool=POOL) conn.set('xxx', 'yyy') name = conn.get('username') return HttpResponse(name)
urls.py
from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index), ]
此时在浏览器中访问 http://127.0.0.1:8000/index
就会现在插入一对key:value ,然后再获取出key为username的值;
2、Django中的专用方式
django提供了一个redis模块:django-redis
项目名不要和模块名一样哦!
安装模块:pip3 install django-redis
然后在settings.py中配置,当把redis作为缓存时,也可以这样配置:
下面用的库是default,我们可以写多个库,比如写两个区域,一个用作缓存,一个用来存数据;
CACHES = { "default": { #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": 100} # "PASSWORD": "123", } } }
views.py
from django.shortcuts import render, HttpResponse from django_redis import get_redis_connection # Create your views here. def index(request): # 这里用的是settings中配置的default conn = get_redis_connection('default') print(conn.get('xxx')) return HttpResponse('ok')
from django.core.cache import cache