django-redis缓存
2024-09-27 15:52:44
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>
最新文章
- pb自动注册ole控件
- 【Python】re正则表达式
- [HTML5]a标签禁止嵌套使用
- Python当中的正则表达式支持!
- WEB前端性能优化小结
- andriod
- block 浅析
- LaTex代码生成器
- SPFA算法与dijkstra算法求单源最短路径的比较
- Python实战之Selenium自动化测试web登录
- c# RSA加密和解密
- R+tmcn笔记︱tmcn包的基本内容以及李舰老师R语言大会展示内容摘录
- Blender学习
- linux目录说明
- pclConfig.cmake or PCLConfig.cmake
- linux查看系统32位还是64位
- JDK9新特性实战:流关闭新姿势
- Day 1 For Knowledge Management
- JavaScript之简易http接口测试工具网页版
- 当你在web项目下新建一个class时package位置如果发生红色波浪错误,提示为”The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files“
热门文章
- 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞
- 网络TCP建立连接为什么需要三次握手而结束要四次
- 如何基于Netty处理粘包、拆包问题?
- Mac上安装配置和简单使用PostgreSQL(仍然很不懂)
- Html中文字过多,单行超出和多行超出显示省略号
- 偶数求1/2+1/4+...+1/n奇数1/1+1/3+...+1/n
- oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复
- 310. Minimum Height Trees -- 找出无向图中以哪些节点为根,树的深度最小
- 用压测模拟并发、并发处理(synchronized,redis分布式锁)
- SharePoint 2013的100个新功能之开发