导读:很多朋友问到关于django项目中两个缓存怎么存的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
如何为SAE Django工程设置全站Memcached缓存
1
在服务管理-Memcache中初始化Memcache服务,并分配合适的容量。
2
修改settings.py,添加配置:
3
一段时间后,即可在SAE服务管理—Memcache中观察缓存命中率和内存使用情况
如何django中用redis缓存服务器,求详细教程。
django-redis 中文文档
Andrey Antukh, niwi@niwi.be 4.7.0
翻译: RaPoSpectre
1. 介绍
django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.
1.1 为何要用 django-redis ?
因为:
持续更新
本地化的 redis-py URL 符号连接字符串
可扩展客户端
可扩展解析器
可扩展序列器
默认客户端主/从支持
完善的测试
已在一些项目的生产环境中作为 cache 和 session 使用
支持永不超时设置
原生进入 redis 客户端/连接池支持
高可配置 ( 例如仿真缓存的异常行为 )
默认支持 unix 套接字
支持 Python 2.7, 3.4, 3.5 以及 3.6
1.2 可用的 django-redis 版本
稳定版本: 4.7.0
稳定版本: 3.8.4
1.3 我该使用哪个版本
版本号像 3.6, 3.7 … 等的是主要发行版本, 会包含向后不兼容的内容. 跟多信息请在升级前阅读升级日志.
版本号像 3.7.0, 3.7.1… 等的是小更新或者 bug 修复版本, 一般只会包含 bug 修复, 没有功能更新.
1.4 依赖
1.4.1 Django 版本支持
django-redis 3.8.x 支持 django 1.4, 1.5, 1.6, 1.7 (或许会有 1.8)
django-redis 4.4.x 支持 django 1.6, 1.7, 1.8, 1.9 和 1.10
1.4.2 Redis Server 支持
django-redis 3.x.y 支持 redis-server 2.6.x 或更高
django-redis 4.x.y 支持 redis-server 2.8
django-redis结合drf实现缓存
一、django_redis
1. django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.
二、django-redis自身优点:
● 持续更新
● 本地化的 redis-py URL 符号连接字符串
● 可扩展客户端
● 可扩展解析器
● 可扩展序列器
● 默认客户端主/从支持
● 完善的测试
● 已在一些项目的生产环境中作为 cache 和 session 使用
● 支持永不超时设置
● 原生进入 redis 客户端/连接池支持
● 高可配置 ( 例如仿真缓存的异常行为 )
● 默认支持 unix 套接字
● 支持 Python 2.7, 3.4, 3.5 以及 3.6
三、推荐使用版本
四、django_redis基本的使用操作:
五、在django项目中的配置格式
六、自定义redis的工具类
七、自定义redis key协议
八、视图调用缓存
如何在django中使用redis做缓存服务器
实现缓存的方式,有多种,本地内存缓存,数据库缓存,文件系统缓存。这里介绍使用Redis数据库进行缓存。
环境
redis
django-redis
配置
settings.py
CACHES = { \"default\": { \"BACKEND\": \"django_redis.cache.RedisCache\", \"LOCATION\": \"redis://127.0.0.1:6379/1\", \"OPTIONS\": { \"CLIENT_CLASS\": \"django_redis.client.DefaultClient\", \"PASSWORD\": \"mysecret\"
}
}
}
python manage.py createcachetable1
缓存有站点缓存,和单个view缓存
站点缓存:
settings.py
MIDDLEWARE = [ # 站点缓存 , 注意必须在第一个位置
\'django.middleware.cache.UpdateCacheMiddleware\',
... # 站点缓存, 注意必须在最后一个位置
\'django.middleware.cache.FetchFromCacheMiddleware\',
]
视图缓存:
views.py
from django.shortcuts import renderfrom django.views.decorators.cache import cache_pagefrom cache.models import Foo# 在需要缓存的视图上添加装饰器, 参数是设置timeout 超时时间, 单位是秒, @cache_page(60)def index(request):
bar = Foo.objects.all() return render(request, \'cache/index.html\', {\'bar\': bar})
django开发环境中静态资源怎么存放
其实将静态文件路径硬编码在模版中也可以正常运行,如使用href=\"/static/css/sample.css\",前提是配置好了STATIC_URL和STATIC_DIRS。
但并不推荐这么做,因为如果后来静态资源的位置发生了迁移,如使用独立服务器或者使用CDN,就要修改一大堆URL。而使用推荐的方法可以避免这个庞大的工作量,最多只需要修改STATIC_URL即可。
django项目中使用 memcached (安装与使用)
在 django 中,如果你想提升请求的响应速度,那么使用缓存是很好的办法。 django 的官网上介绍了如何引入 缓存 ,以及配置 缓存 。
django 官方文档:
在官网上来看, Memcached 是首推选项。
Memcached 的官网: 上有安装文档
或者
看你用的 Debian/Ubuntu 还是 Redhat/Centos :
或
通过 yum 或者 apt-get 命令安装的是预装的版本,你也可以安装编译指定的版本
(本文发表时,最新版 )
在 Macos 安装就比较简单了
官网文档(英文):
文档里大概就是说,通过 memcached 命令来启动,并配置。
我这里 memcached 是在 /usr/local/bin/memcached ,所以可以直接使用 memcached
结语:以上就是首席CTO笔记为大家介绍的关于django项目中两个缓存怎么存的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!
版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。