zoukankan      html  css  js  c++  java
  • Django中使用redis

    1、所有框架都能用的方式

    -先新建一个py文件,生成一个redis连接池;
    -需要在哪里用,就把这个py文件导过去;


    举例:

    在app下新建一个py文件,redis_pool.py:

    单独新建的原因是,使用时导过去就行了,如果直接和程序写在一起,那么每次执行程序,都会新建一个连接池,

    所以……

    image


    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
  • 相关阅读:
    MVC、MVP、MVVM架构模式
    JavaScript中的跨域详解(二)
    JavaScript中的跨域详解(一)
    RESTful基础知识
    Date类
    数据的相对比较
    递归应用
    浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式?
    【04】图解JSON
    【08】css sprite是什么,有什么优缺点
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12534868.html
Copyright © 2011-2022 走看看