如何在django中使用redis做缓存服务器

如何在django中使用redis做缓存服务器,第1张

实现缓存的方式,有多种,本地内存缓存,数据库缓存,文件系统缓存。这里介绍使用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})

我现在是把阿里云的 CDN 直接解析到 OSS 。

每天的 PV , 1 万到 5 万。

然而才用了一个多月就跑了 300+G 流量。 0.36/GB 。泪。

阿里云的 CDN 实在是太贵了,用峰值带宽的话,根本就不能控制成本啊!万一有个用户 100M 水管,那一天岂不是要付 100 块钱?

所以还不如选一个好一点的 BGP 线路机器反代到 OSS 。

自己用 squid 搭建吗?

如果主站是 HTTPS 的, squid 能配置 SSL 吗?还是说要 nginx 配置 SSL 以后再去反代 squid ,然后 squid 反代 oss ?

有没有配置脚本?

还是装个 AMH/WDCP 之类面板,然后可以傻瓜化配置?

对主机磁盘 IO 、内存有什么要求?


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/491458.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-14
下一篇2023-06-14

发表评论

登录后才能评论

评论列表(0条)

    保存