使用Django-redis 做缓存
作为一名网站开发人员,装饰自己的网站是重要的事情,提升和强化自己的网站更是一个不可忽视的重点。
为什么需要缓存?
当我们浏览一个网站的时候,数据往往是从对方数据库中取出来的。当访问的人数相当多的时候,每次都要从数据库取,这是一笔相当大的开销。这时候使用缓存来记录一些数据,从而减少查询数据库的开销,减轻服务器的压力。
使用 Redis
Redis 的好处我也说不过来。
可以参考 Redis 的维基百科:https://zh.wikipedia.org/wiki/Redis
此外,我选择 Redis 的原因在于现在大部分公司对 web 人员都有类似熟悉 mongodb redis 这类的要求,那么我们就去了解了解。
1. Django 如何使用 Redis?
这里我用到了一个包 django-redis :https://github.com/niwinz/django-redis
使用方法和简单,在你的环境中运行 pip install django-redis
就可以安装它。
在你的 settings 文件中加入:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
这样就在你的 Django 项目中配置好了
要确保你的系统中安装了 Redis
可以用 systemctl status redis 来查看 Redis 的运行情况
代码部分
# 代码片段
# 导入包
from django.core.cache import cache
# 设置一个 key
key = 'article'
# 判断 key 是否存在 cache 中, 存在则在 cache 中取, 不存在则查询数据库
if key in cache:
articles = cache.get(key)
else:
# 查询数据库
articles = Article.objects.all()
# 将查询的内容 和 key 作为键值对存入 cache, 并设置缓存时间
cache.set(key, articles, 15 * 60)
使用方法很简单,(是你了解的不够深入)
总的来说就是将访问网页的时候需要查询的东西,或者是长时间都不会改变但每次都需要从数据库中取的数据存入缓存中,当下次再访问到相同内容时,就会先在 cache 中查找。
Redis 在 Django 的使用方式...done
个人博客地址:http://www.haosev.cc/