djang内部缓存+Redis

三种粒度缓存

页面局部缓存

""" 由Django渲染的页面
{% load cache %}
{% cache 1 'name' %}
<p>要被缓存的局部内容</p>
{% endcache %}
"""

单个页面

from django.views.decorators.cache import cache_page
@cache_page(10)  # 代表该视图函数渲染的页面被缓存10s
def test_cache(request):
    import time
    c_time = time.time()
    return render(request, 'cache.html', locals())

全站缓存

MIDDLEWARE = [
    # 响应HttpResponse中设置几个headers(必须放在最上方)
    'django.middleware.cache.UpdateCacheMiddleware',
    # ...
    # 用来缓存通过GET和HEAD方法获取的状态码为200的响应(必须放在最下方)
    'django.middleware.cache.FetchFromCacheMiddleware',
]

CACHE_MIDDLEWARE_SECONDS = 10

Redis 数据库

# 1.安装redis与可视化操作工具

# 2.在服务中管理redis服务器的开启关闭

# 3.命令行简单使用redis:
	-- redis-cli  # 启动客户端
    -- set key value  # 设置值
    -- get key  # 取出值
    
# 4.redis支持:字符串、字典、列表、集合、有序集合

# 5.特点:可持久化、单线程单进程并发

python使用redis

# pip3 install redis

# 非连接池
import redis
r = redis.Redis(host='127.0.0.1', port=6379)

# 连接池
import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
r = redis.Redis(connection_pool=pool)

Redis的详细操作:https://www.cnblogs.com/liuqingzheng/articles/9833534.html

posted @ 2019-05-26 23:48  不会玩python  阅读(2)  评论(0编辑  收藏  举报