1.安装django依赖包 pip install djange-redis==4.8.0

2.配置文件settings  需要开启redis服务 sudo service redis start,否则连接被拒

# 缓存配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/2", # or 127.0.0.1
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}

3.1页面缓存

view:

class CachePage(View):
""" 缓存页面 """
def get(self, request):
print "只打印一次则使用缓存"
return render(request, "logok.html")

通过配置url调用缓存

from django.views.decorators.cache import cache_page
urlpatterns = [
url(r'auth_cache_page/$', cache_page(60)(views.CachePage.as_view()), name='auth_cache_page'),
] # 设置过期时间60s 注意格式 执行到cache_page,有缓存则不执行view,直接调用缓存
  时间单位为秒, 60*60*24*7 一周时间

3.2访问缓存

view:

from django.core.cache import cache

class CacheVisit(View):
"""
访问数据库缓存
from django.core.cache import cache
"""
def get(self, request):
users = cache.get("users") # 没users则返回None
if not users:
users = User.objects.all()
cache.set("users", users, 60) # 设置缓存key及过期时间
       # cache.add("users", users, 60) # 更新缓存或相当于set
       # cache.set_many({"a": 1, "b": 3}) # 设置多个缓存
       # cache.get_or_set("a", "默认值", 60) # 存在key a则获取a的值,不存在则设置key a,值为默认值
       # cache.delete("a") # 删除
       # cache.delete_many(["a", "b"]) # 删除多个缓存
       # cache.clear() # 清除所有缓存
print "只打印一次则使用缓存" return render(request, "users.html", locals())

html

<body>
{% for user in users %}
{{ user.username }}<br>
{% endfor %}
</body>

最新文章

  1. pb自动注册ole控件
  2. 【Python】re正则表达式
  3. [HTML5]a标签禁止嵌套使用
  4. Python当中的正则表达式支持!
  5. WEB前端性能优化小结
  6. andriod
  7. block 浅析
  8. LaTex代码生成器
  9. SPFA算法与dijkstra算法求单源最短路径的比较
  10. Python实战之Selenium自动化测试web登录
  11. c# RSA加密和解密
  12. R+tmcn笔记︱tmcn包的基本内容以及李舰老师R语言大会展示内容摘录
  13. Blender学习
  14. linux目录说明
  15. pclConfig.cmake or PCLConfig.cmake
  16. linux查看系统32位还是64位
  17. JDK9新特性实战:流关闭新姿势
  18. Day 1 For Knowledge Management
  19. JavaScript之简易http接口测试工具网页版
  20. 当你在web项目下新建一个class时package位置如果发生红色波浪错误,提示为”The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files“

热门文章

  1. 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞
  2. 网络TCP建立连接为什么需要三次握手而结束要四次
  3. 如何基于Netty处理粘包、拆包问题?
  4. Mac上安装配置和简单使用PostgreSQL(仍然很不懂)
  5. Html中文字过多,单行超出和多行超出显示省略号
  6. 偶数求1/2+1/4+...+1/n奇数1/1+1/3+...+1/n
  7. oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复
  8. 310. Minimum Height Trees -- 找出无向图中以哪些节点为根,树的深度最小
  9. 用压测模拟并发、并发处理(synchronized,redis分布式锁)
  10. SharePoint 2013的100个新功能之开发