zoukankan      html  css  js  c++  java
  • Django中操作redis

    1.Django中操作redis
      安装django-redis模块

    1
    pip3 install django-redis

      在setting配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # reids_configure
    CACHES = {
        "default":{
            "BACKEND""django_redis.cache.RedisCache",
            "LOCATION""redis://182.254.210.59:6379"# 连接地址
            "OPTIONS": {
                "CLIENT_CALSS""django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections"1000},
                "PASSWORD":"123123"# 连接密码
            }
        }
    }

      在views中调用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def index(request):
        conn = get_redis_connection('default')
        conn.hset('dic','age',22)
        return HttpResponse('设置成功')
     
     
    def order(request):
        conn = get_redis_connection('default')
        val = conn.hget('dic','age')
        val = val.decode('utf-8')
        return HttpResponse('取值成功 '+val)

    2.全站缓存
      全站缓存要用到中间件了,在settings中间件配置的 MIDDLEWARE 模块中,加两条配置

    1
    2
    3
    4
    5
    6
    'django.middleware.cache.UpdateCacheMiddleware'# 加到中间件的最上面
    'django.middleware.cache.FetchFromCacheMiddleware'# 加到中间件的最下面
    附加:
    CACHE_MIDDLEWARE_ALIAS = "" # 设置缓存的别名
    CACHE_MIDDLEWARE_SECONDS = "" # 设置缓存的超时时间
    CACHE_MIDDLEWARE_KEY_PREFIX = ""

      全站缓存指的是每次在请求过来的时候先经过中间件,然后到缓存,如果缓存中没有的话去就去数据库中找,在返回数据的时候顺便放到缓存中一份

    3.单个视图缓存
      方式一: 给想要被缓存的单个视图加装饰器

    1
    2
    3
    4
    5
    from django.views.decorators.cache import cache_page # 在views中调用
     
    @cache_page(60 * 15)
    def index(request):
        ...

      方式二:在配置url的同时直接指定缓存

    1
    2
    3
    4
    5
    from django.views.decorators.cache import cache_page
     
    urlpatterns = [
        url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)),
    ]

    4.局部视图缓存
      4.1 引入TemplateTag

    1
    {% load cache %}

      4.2 使用缓存

    1
    2
    3
    4
    5
    {% cache 5000 缓存key %# 指5000秒 缓存key 指缓存存放的地方
     
        <div></div> # 要被缓存的单独一块内容
     
    {% endcache %
  • 相关阅读:
    zabbix监控windows案例
    Ansible自动化运维工具-上
    Nagios监控的部署与配置
    ELK+Redis+Nginx服务数据存储以及Nginx日志的收集
    ELK5.3日志分析平台&部署
    Centos7X部署Zabbix监控
    LVS+Keepalived负载均衡
    Nginx+tomcat负载均衡
    smokeping
    Err.number错误号和可捕获的 Microsoft access 数据库引擎和 DAO错误说明
  • 原文地址:https://www.cnblogs.com/john-xiong/p/11813673.html
Copyright © 2011-2022 走看看