Django如何使用redis作为缓存


Posted in Python onMay 21, 2020

已有Django项目,在其中设置以redis为缓存。

1、 安装django-redis:

pip install django-redis

2、 在settings里面配置cache设置:

CACHES = {
  "default":{
    "BACKEND":"django_redis.cache.RedisCache",
    "LOCATION":"redis://127.0.0.1:6379/1",  # DB设为1
    "TIMEOUT":None,  # 永久缓存,默认300秒
    "OPTIONS":{
      "CLIENT_CLASS":"django_redis.client.DefaultClient",
      # "PASSWORD":"xxxxxx" # 可能需要密码
    }
  }
}

3、 设置好后可以在shell中测试一下:

(1) 在终端中启动shell:

python manage.py shell

(2) 在shell中输入,并查看结果,验证可读写Cache:

In [1]: from django.core.cache import cache

In [2]: cache.set('mykey','haha,I get it!')

Out[2]: True

In [3]: cache.get('mykey')

Out[3]: 'haha,I get it!'

(3) 如果不能正常启动shell,可能是ipython版本过低,升级ipython即可:

pip install ipython --upgrade

4、 也可以新建test.py文件来验证,注意要导入settings并执行settings.configure():

from django.conf import settings
settings.configure()
from django.core.cache import cache
cache.set('key1','good day!')
cache.set('key2','other day!')
print(cache.get('key1'))
print(cache.get('key2'))

能正常显示如下即可:

good day!

other day!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
用python实现对比两张图片的不同
Feb 05 Python
python使用Flask操作mysql实现登录功能
May 14 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
Django框架登录加上验证码校验实现验证功能示例
May 23 Python
在Python中append以及extend返回None的例子
Jul 20 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
Python设计密码强度校验程序
Jul 30 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 #Python
keras之权重初始化方式
May 21 #Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 #Python
Python使用os.listdir和os.walk获取文件路径
May 21 #Python
keras 权重保存和权重载入方式
May 21 #Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 #Python
Python通过文本和图片生成词云图
May 21 #Python
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
Js动态创建div
2008/09/25 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
layui的select联动实现代码
2019/09/28 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
2014新年元旦活动策划方案
2014/02/18 职场文书
售后服务承诺书范文
2014/03/26 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
Python中常见的导入方式总结
2021/05/06 Python
Python序列化与反序列化相关知识总结
2021/06/08 Python
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
使用Python解决图表与画布的间距问题
2022/04/11 Python