Django redis 应用

一、自定义连接池

与python中使用连接池一样(使用单例对象)

注意:每个视图函数都要有

conn = redis.Redis(connection_pool=POOL)

二、使用第三方模块(django-redis)

1、安装

pip3 install django-redis 

2、设置setting.py文件

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://ip:6379",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100},
            "PASSWORD": "密码",
        }
    }
}

3、使用

from django_redis import get_redis_connection

 

def index(request):
    # default setting的配置文件
    con = get_redis_connection('default')
    con.set('k1', 'v1')
    print(con.get('k1'))    # b'v1'
    return HttpResponse('设置ok')

三、高级使用

1、全栈使用(中间件)

MIDDLEWARE = [
    'django.middleware.cache.UpdateCacheMiddleware',
    其它中间件,          
    'django.middleware.cache.FetchFromCacheMiddleware',
]

2、单独视图使用,优先级高于全局视图

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def my_view(request):
    ...

3、局部 template使用

a. 引入TemplateTag

    {% load cache %}

b. 使用缓存

    {% cache 5000 缓存key %}
        缓存内容
    {% endcache %}

 

posted @ 2019-09-22 18:11  市丸银  阅读(177)  评论(0编辑  收藏  举报