学习猿地 python教程 django教程9 Django使用redis实现缓存

# Django使用redis实现缓存

### 环境搭建安装

* 1,安装redis服务

```

sudo apt-get install redis

```

* 2,安装django组件

```

sudo pip3 install django-redis

```

### Django项目配置

```py

settings.py

CACHES = {

"default": {

# 引擎

"BACKEND": "django_redis.cache.RedisCache",

# 缓存超时时间(默认300,None表示永不过期,0表示立即过期)

‘TIMEOUT‘: 300,

"LOCATION": "redis://127.0.0.1:6379/1",

"OPTIONS": {

"CLIENT_CLASS": "django_redis.client.DefaultClient",

# "PASSWORD": "mysecret"

}

}

}

```

### 视图缓存:

> 使用缓存框架的更细化的方式是缓存单个视图的输出。`django.views.decorators.cache`

>

> 定义一个`cache_page`装饰器,它会自动缓存视图的响应

```py

views.py

# 在需要缓存的视图上添加装饰器, 参数是设置timeout 超时时间, 单位是秒,

from django.views.decorators.cache import cache_page

@cache_page(10)

def index(request):

t =  datetime.datetime.now()

return HttpResponse(t)

```

### 自定义缓存 :

> 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其

>

> 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其结果以不同的时间间隔进行更改。

>

> 在这种情况下,使用每个站点或每个视图缓存策略提供的全页缓存是不理想的,因为您不希望缓存整个结果(因为有些数据经常更改),但您仍然希望缓存很少更改的结果

>

> 在这样的情况下,Django提供了一个简单的,低层次的缓存API。

>

> 您可以缓存任何Python对象:字符串、字典、模型对象列表等等

>

> 基本语法: set\(key, value, timeout\)  get\(key\)

```py

from django.core.cache import cache

cache.set(‘my_key‘, ‘hello, world!‘, 30)

cache.get(‘my_key‘)

```

### 模板缓存

> 您还可以使用`cache`模板标签来缓存模板片段。

>

> 为了让您的模板可以访问此标记,请放在模板的顶部附近。`{ % load cache % }`。

>

> [文档地址](https://docs.djangoproject.com/en/1.11/topics/cache/#template-fragment-caching): [https://docs.djangoproject.com/en/1.11/topics/cache/\#template-fragment-caching](https://docs.djangoproject.com/en/1.11/topics/cache/#template-fragment-caching)

### 站点缓存:

> 缓存设置完成后,使用缓存的最简单方法是缓存整个网站

>

> [文档地址](https://docs.djangoproject.com/en/1.11/topics/cache/#the-per-site-cache):  [https://docs.djangoproject.com/en/1.11/topics/cache/\#the-per-site-cache](https://docs.djangoproject.com/en/1.11/topics/cache/#the-per-site-cache)

掌握学习方法,不如会弯道超车!

学习猿地:成就自己的只需一套精品!

原文地址:https://www.cnblogs.com/itxdl/p/12557301.html

时间: 2024-12-08 12:32:37

学习猿地 python教程 django教程9 Django使用redis实现缓存的相关文章

学习猿地 python教程 django教程8 Django部署(Apache)

# Django部署\(Apache\) > 在前面的章节中我们使用**python3 manage.py runserver**来运行服务器.这只适用测试环境中使用. > > 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如Apache, Nginx, IIS等,本文将以 Apache为例. > > 使用[Apache](https://httpd.apache.org/)和[mod\_wsgi](http://www.modwsgi.org/)部署Django 是

学习猿地 python教程 django教程6 华为云部署

# 上线华为云服务器部署(弹性云服务器ECS) >环境配置: > ubuntu 18.04 > Python 3.6.8(python3.7亦可) > nginx version: nginx/1.14.0 (Ubuntu) ## 1. 购买华为云服务器 文档 https://support.huaweicloud.com/ecs/index.html ## 2. 上传到华为云服务器,安装依赖环境,启动项目测试 #### 1.导出当前项目的依赖环境 `pip freeze >

Django分别使用Memcached和Redis作为缓存的配置(Linux环境)

1 使用memcached 1.1 安装memcached 安装(Linux) sudo apt install memcached 启动 #方式一: service memcached start # 方式二: /usr/bin/memcached -u memcache -m 1024 -p 11222 -l 0.0.0.0 -d start -d:这个参数是让memcached在后台运行 -m:指定占用多少内存.以M为单位,默认为64M. -p:指定占用的端口.默认端口是11211. -l

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大

python 创建一个简单的Django新手教程

在自己的兴趣下自学了Python语言,创建了一个最基础的django项目,话不多说.直接上流程 Django是一个开放源代码的Web应用框架,由Python写成,在我们开始使用Django前,首先要安装Python的开发环境 Python 安装(已安装的可跳过) 安装Python你只需要去官方网站(https://www.python.org/)下载安装文件,然后直接傻瓜式安装即可. 我这里直接选择的是python最新版本3.6.5进行开发 下载完成后,点击安装,安装完成后你需要设置Python

分享《Python数据分析基础教程:NumPy学习指南(第2版)》高清中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1YSD97Gd3gmmPmNkvuG0eew更多资料分享:http://blog.51cto.com/3215120 <Python数据分析基础教程:NumPy学习指南(第2版)>高清中文PDF+高清英文PDF+源代码 高清中文版PDF,249页,带目录和书签,文字能够复制粘贴:高清英文版PDF,310页,带目录和书签,文字能够复制粘贴:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:其中高清中文版如图: 原文地址:http://

Numpy学习:《Python数据分析基础教程NumPy学习指南第2版》中文PDF+英文PDF+代码

NumPy是一个优秀的科学计算库,提供了很多实用的数学函数.强大的多维数组对象和优异的计算性能,不仅可以取代Matlab和Mathematica的许多功能,而且业已成为Python科学计算生态系统的重要组成部分.但与这些商业产品不同,它是免费的开源软件. 推荐学习<Python数据分析基础教程NumPy学习指南第2版>,通过书中丰富的示例,学会Matplotlib绘图,并结合使用其他Python科学计算库(如SciPy和Scikits),让工作更有成效,让代码更加简洁而高效. 学习参考: &l

xadmin学习笔记(二)——改造Django教程实例(1)

前言 xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的.在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的.本文就是在学习Django官方文档的Tutorial的过程中进行的摸索. FAQ 1:如何修改xadmin的site-title和site-footer? site-title和site-footer都是设置在base_site.html模板页面中的,可以从xadmin的安装目录下的xadmin\templates\xa