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
  • 相关阅读:
    搭建ARL资产安全灯塔
    免杀技术发展史
    米酷CMS 7.0.4代码审计
    腾讯安全实习 应用运维安全面试
    Docker部署CTF综合性靶场,定时刷新环境
    西湖论剑2020MISC-Yusa_yyds
    (转)马云炮轰银行监管的解读
    ATT&CK 实战
    Docker环境复现利用Redis未授权访问漏洞 >> 批量扫描检测利用
    修改CH340芯片信息
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12534868.html
Copyright © 2011-2022 走看看