Django如何使用redis作为缓存
已有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!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
redis之django-redis的简单缓存使用
本文介绍了redis之django-redis的简单缓存使用,分享给大家,具体如下: 自定义连接池 这种方式跟普通py文件操作redis一样,代码如下: views.py import redis from django.shortcuts import render,HttpResponse from utils.redis_pool import POOL def index(request): conn = redis.Redis(connection_pool=POOL) conn.hs
-
django celery redis使用具体实践
环境准备 python3.5.4 windows redis pip install celery pip install redis windows下启动redirs server redis-server.exe redis.windows.conf celery配置 项目的settings.py文件修改: # celery 设置 # celery中间人 redis://redis服务所在的ip地址:端口/数据库号 BROKER_URL = 'redis://127.0.0.1:6379/0
-
docker django无法访问redis容器的解决方法
docker-compose.yal文件中: redis: image: redis container_name: xdemo.redis ports: - 6379:6379 restart: always django setting.py中配置redis: CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379', "OPTIONS&qu
-
Docker部署Django+Mysql+Redis+Gunicorn+Nginx的实现
一. 前言 docker技术现在非常火热,通过容器构建项目环境,运行效率和部署效率都很不错.所以最近抽空看了一些教程,然后将博客部署方式改为了docker,感觉网上没有特别好的关于 docker 部署 django 项目的教程,特意写了这篇文章,算是记录自己的心得. 本次教程的测试环境为 Deepin ,主要侧重于 容器的编排 和 Django 相关部署知识,一些细节方面,例如环境依赖安装,不会讲得特别详细.由于是在本地测试,所以在配置 nginx 相关信息时,将配置 http 代理而非 htt
-
Django使用Celery加redis执行异步任务的实例内容
简单使用 安装celery及redis 定义celery任务 项目下新建tasks.py from celery import Celery # 创建一个Celery类的实例对象 app = Celery('celery_task.tasks', broker='redis://127.0.0.1:6379/8') # 定义任务函数 @app.task def send_register_active_email(message): with open("D:\\celery\\text.txt
-
Django使用redis缓存服务器的实现代码示例
redis相信大家都很熟悉了,和memcached一样是一个高性能的key-value数据库,至于什么是缓存服务器,度娘都有很明白的介绍了,我在这里就不一一介绍了. 那我们一般什么情况下才会使用缓存服务器呢?可不是什么情况都需要的哦,一般来说是在需要频繁对一个字段读取的时候才会需要将这个字段放入到缓存服务器上,而且由于key-value数据库一般只是放很简单的数据,所以在选择保存的对象的时候要注意选择好. 下面我就来介绍如何在Django中配置使用redis数据库,首先是先安装redis了,在U
-
django框架用户权限中的session缓存到redis中的方法
django框架默认将session保存到数据库中,在高并发访问无疑会影响服务器性能,因此最好将session保存到redis中避免直接从数据库中读取session数据 settings.py中配置如下: #配置redis CACHES = { 'default': { 'BACKEND': 'redis_cache.RedisCache', 'LOCATION': '127.0.0.1:6379', 'OPTIONS': { 'DB': 0, 'PASSWORD': 'abxdcfgda',
-
Django中redis的使用方法(包括安装、配置、启动)
一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-3.2.8.tar.gz 3.复制,放到/usr/local目录下 sudo mv ./redis-3.2.8 /usr/local/redis 4.进入到redis目录下 cd /usr/local/redis/ 5.生成 sudo make 6.测试,时间会比较长 sudo make test 7.安装
-
Django如何使用redis作为缓存
已有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
-
Django使用redis配置缓存的方法
对于非经常更新的服务器数据,若每次都从硬盘读取一次,会浪费服务器资源.拖慢响应速度,而且数据更新频率较高,服务器负担比较大.若保存到数据库,还需要额外建立一张对应的表存储数据.一个更好的方法是在Django中使用Redis进行缓存,下面通过本文给大家介绍Django使用redis配置缓存的方法. 前言 动态网站的基本权衡是,它们是动态的.每次用户请求页面时,Web服务器都会进行各种计算 - 从数据库查询到模板呈现再到业务逻辑 - 以创建站点访问者看到的页面.从处理开销的角度来看,这比标准的文
-
Django使用Redis进行缓存详细步骤
目录 1.背景和意义 2.配置步骤如下 1,服务器端安装 redis 2,Redis 访问控制 3,安装django-redis和settings配置 4,测试缓存是否成功 1.背景和意义 服务器数据非经常更新.若每次都从硬盘读取一次,浪费服务器资源.拖慢响应速度.而且数据更新频率较高,服务器负担比较大.若保存到数据库,还需要额外建立一张对应的表存储数据.在Django中建立表通常做法是建立一个模型.看似简单,但是调试麻烦.开发时长久.为了进行服务器的加速,使用Redis进行缓存. 2.配置步骤
-
django restframework使用redis实现token认证
目录 一.前言 二.详解 1. 前期准备 2. 配置redis 3. 将token写入redis 3.1 原来的登录代码 3.2 重写后的登录代码 3.3 登录后redis存储的用户记录 4. 重写认证token方法 4.1 源码分析 4.2 进行重写 4.3 加入认证配置 4.4 效果展示 三.总结 一.前言 restframework有自己很方便的一套认证.权限体系:官方文档(tokenauthentication) 官方文档的token 是基于数据库中的authtoken_token表来做
-
Java自定义注解实现Redis自动缓存的方法
在实际开发中,可能经常会有这样的需要:从MySQL中查询一条数据(比如用户信息),此时需要将用户信息保存至Redis. 刚开始我们可能会在查询的业务逻辑之后再写一段Redis相关操作的代码,时间长了后发现这部分代码实际上仅仅做了Redis的写入动作,跟业务逻辑没有实质的联系,那么有没有什么方法能让我们省略这些重复劳动呢? 首先想到用AOP,在查询到某些数据这一切入点(Pointcut)完成我们的切面相关处理(也就是写入Redis).那么,如何知道什么地方需要进行缓存呢,也就是什么地方需要用到AO
-
Spring Boot集成Redis实现缓存机制(从零开始学Spring Boot)
本文章牵涉到的技术点比较多:spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章,针对文章中实际的技术点在进一步了解(注意,您需要自己下载Redis Server到您的本地,所以确保您本地的Redis可用,这里还使用了MySQL数据库,当然你也可以内存数据库进行测试).这篇文章会提供对应的Eclipse代码示例,具体大体的分如下几个步骤: (1)新建Java Maven Pro
-
Nginx配置srcache_nginx模块搭配Redis建立缓存系统
1. nginx模块 --add-module=../modules/ngx_devel_kit-0.2.18 --add-module=../modules/set-misc-nginx-module-0.22rc8 --add-module=../modules/srcache-nginx-module-0.22 --add-module=../modules/redis-nginx-module-0.3.6 --add-module=../modules/redis2-nginx-modu
-
Spring Boot中使用Redis做缓存的方法实例
前言 本文主要给大家介绍的是关于Spring Boot中使用Redis做缓存的相关内容,这里有两种方式: 使用注解方式(但是小爷不喜欢) 直接<Spring Boot 使用 Redis>中的redisTemplate 下面来看看详细的介绍: 1.创建UserService public interface UserService { public User findById(int id); public User create(User user); public User update(U
-
浅谈SpringBoot集成Redis实现缓存处理(Spring AOP实现)
第一章 需求分析 计划在Team的开源项目里加入Redis实现缓存处理,因为业务功能已经实现了一部分,通过写Redis工具类,然后引用,改动量较大,而且不可以实现解耦合,所以想到了Spring框架的AOP(面向切面编程). 开源项目:https://github.com/u014427391/jeeplatform 第二章 SpringBoot简介 Spring框架作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广.
-
springboot+mybatis+redis 二级缓存问题实例详解
前言 什么是mybatis二级缓存? 二级缓存是多个sqlsession共享的,其作用域是mapper的同一个namespace. 即,在不同的sqlsession中,相同的namespace下,相同的sql语句,并且sql模板中参数也相同的,会命中缓存. 第一次执行完毕会将数据库中查询的数据写到缓存,第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率. Mybatis默认没有开启二级缓存,需要在全局配置(mybatis-config.xml)中开启二级缓存. 本文讲述的是使用Redi
随机推荐
- 用javascript代替marquee的滚动字幕效果代码
- js 强制弹出窗口代码研究-又一款代码
- 看到一个JS正则的题
- bootstrap PrintThis打印插件使用详解
- js通用滑动门类
- WPF实现ScrollViewer滚动到指定控件处
- 几行代码轻松实现PHP文件打包下载zip
- Android中引用其他程序的文本资源超简单方法
- php发送post请求的三种方法
- 解析PHP对现有搜索引擎的调用
- Python中内建函数的简单用法说明
- 对男人不要尝试的十件事[女士必看]
- Lua 操作 MongoDB 数据库实例
- js Date自定义函数 延迟脚本执行
- 兼容低版本IE的JScript5.5实现
- Linux 平台上比较好的C/C++ IDE 清单
- 个人写的PHP验证码生成类分享
- C#从文件流读取xml文件到DataSet并显示的方法
- 浅谈SpringBoot集成Redis实现缓存处理(Spring AOP实现)
- mybatis foreach批量插入数据:Oracle与MySQL区别介绍