• 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
  • 相关阅读:
    C#实现京东登录密码加密POST
    查询SQL Server数据库所有表字段备注
    DataGridView数值列和日期列
    (转)Android 系统 root 破解原理分析
    Dynamics AX 中重点数据源方法
    .NET中Debug模式与Release模式
    DotNetBar的初步使用
    省市区联动小功能
    多余的Using Namespaces或引用会影响程序的执行效率么?
    MSIL指令集
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12534868.html
Copyright © 2020-2023  润新知