django-redis缓存
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>
django-redis缓存的更多相关文章
- django之缓存的用法, 文件形式与 redis的基本使用
django的缓存的用法讲解 1. django缓存: 缓存的机制出现主要是缓解了数据库的压力而存在的 2. 动态网站中,用户的请求都会去数据库中进行相应的操作,缓存的出现是提高了网站的并发量 3. ...
- django 常用方法总结 < 手写分页-上传头像-redis缓存,排行 ...>
1.不使用自带模块<Paginator>的手写分页功能views.pydef post_list(request): page = request.GET.get('page', 1) # ...
- Django之使用redis缓存session,历史浏览记录,首页数据实现性能优化
Redis缓存session 配置Django缓存数据到redis中 # diango的缓存配置 CACHES = { "default": { "BACKEND&quo ...
- redis的介绍与操作及Django中使用redis缓存
redis VS mysql的区别 """ redis: 内存数据库(读写快).非关系型(操作数据方便) mysql: 硬盘数据库(数据持久化).关系型(操作数据间关系) ...
- redis数据库如何用Django框架缓存数据
---恢复内容开始--- 一.python 使用redis 1.1 安装 pip install redis 测试有一些基本的数据类型 import redis # redis 是一个缓存数据库 # ...
- Django缓存机制以及使用redis缓存数据库
目录 Django 配置缓存机制 缓存系统工作原理 Django settings 中 默认cache 缓存配置 利用文件系统来缓存 使用Memcache来缓存: 使用Local-memory来缓存: ...
- Django1.9开发博客(13)- redis缓存
Redis 是一个高性能的key-value数据库.redis的出现, 很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用. 它提供了Pyth ...
- 初试Django的缓存系统
初试Django的缓存系统 现在我网页的逻辑是,响应请求,查找数据库相关信息,渲染模版生成最终页面,最后返回.使用缓存后就是将这个页面保存一段时间,在有响应请求相同页面的时候,可以直接返回,不用再做那 ...
- 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)
目录 1 准备工作 2 具体实施 1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使 ...
- Django与缓存
我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...
随机推荐
- angular的路由和监听路由的变化和用户超时的监听
先看两篇博客:http://camnpr.com/javascript/1652.html 这一篇博客是重点中的重点: http://www.tuicool.com ...
- HIVE从路人到入门
绪论 第一章 Hive的基本架构及原理 第二章 基础知识 第三章 基本操作 第四章 复杂操作 总结
- 个人知识管理系统Version1.0开发记录(09)
MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索. 运用Mybatis框 ...
- 将Gridview中的数据出到excel或word中
在以下按钮单击事件中实现:private void btnMIME_Click(object sender, System.EventArgs e){dgShow.AllowPaging = fals ...
- docx文件怎样打开 - 转
如何打开docx文件?在office2007及2010退出多年后,诸如docx.xlsx.pptx类文件越来越多,我们从网络下载或者别人复制过来的这类文件越来越多.docx文件怎样打开呢?下面有图小站 ...
- Python 高性能并行计算之 mpi4py
MPI 和 MPI4PY 的搭建上一篇文章已经介绍,这里面介绍一些基本用法. mpi4py 的 helloworld from mpi4py import MPI print(&quo ...
- 利用按钮来控制不同activity页面的移动
1.现在手机都是利用移动的做法来使界面的跳转更美观. 那么对于一个activity来说的话,是会有一个坐标的(左上角为(0,0)坐标) 右为x轴且为正,下为y轴且为负. 由于要使界面跳转,可以水平方向 ...
- CF1143C Queen
CF1143C Queen 开始想大力维护 \(bfs\) 序+数据结构解决,但 \(bfs\) 序的变化不太好推. 换了一个思路,注意到删除一个点后,原来可以被删除的点仍然可以被删除,原来不能被删除 ...
- 20165212实验三——敏捷开发与XP实践
20165212实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验知识点总结 (一)敏捷开发与XP 软件工程:把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过 ...
- Oracle简单的SQL处理
--单表插入insert into hr.job(job_id,job_title,min_salary) values('IT','Project Manager',50000); insert i ...