大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程的进阶版。
在之前《用Django全栈开发》系列专辑里面,皮爷详细的阐述了如何编写一个完整的网站。
从进阶篇开始,每一篇文章都是干货满满。这一节,我们来继续说,在Django中,如何来管理Redis缓存
获取整套教程源码唯一途径,关注『皮爷撸码』,回复『peekpa.com』
皮爷的每一篇文章,都配置相对应的代码。这篇文章的代码对应的Tag是“Advanced_05”。
前瞻回顾
在上一节,我们讲述了如何在Django中使用Redis作缓存,主要步骤:
- 安装
django-redis
; - 在
settings.py
文件中,设置CACHES
变量; - 通过调用
django.core.cache
中的cache.get(key)
和cache.set(key,value,expire_time)
方法来实现读取缓存和设置缓存。
这些通过cache.set()方法设置的缓存,都会在我们的Redis里面有对应的key-value值。我们今天就要说一下如何用Django来控制一下这些缓存。
缓存控制系统的开发
既然我们要管理我们的缓存,而且这些缓存是在我们的服务器中的Redis中,所以,这里我们如果要管理缓存的话,最好的办法就是在我们的CMS中,写一个缓存管理系统。
不知道大家是否看过《用Django全栈开发》这个系列的教程,里面的第20篇《 用Django全栈开发——友链一条龙全套开发》,里面很详细的介绍了那种增删改查的管理系统是怎么写的。
我们这里的缓存管理非常的简单,只有查看
和删除
这两个功能。
我们这里来简单阐述一下缓存管理的原理:
- 首先我们的缓存存储在Redis中;
- Django可以通过API获取cache的keys,并且可以通过cache.delete()方法来清空缓存;
其实,上面的两个对应的就是我们之前说的查看和删除。
接下来,我们就要来按照之前的CMS开发流程,编写我们的缓存管理系统了。
缓存的查看
缓存的查看,我们可以通过以下核心代码来实现:
def get_cache_keys_object():
cache_item_list = list()
try:
keys_list = cache.keys("*")
for key in keys_list:
ttl