Django中操作Redis
一 创建redis连接池
redis_pool.py
pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
二 引入连接池
import redis
from django.shortcuts import render
from utils.redis_pool import POOL def index(request):
conn = redis.Redis(connection_pool=POOL)
conn.hset('kkk', 'age', 18) return HttpResponse('设置成功') def order(request):
conn = redis.Redis(connection_pool=POOL)
conn.hget('kkk','age') return HttpResponse('获取成功'
三 使用django-redis工具
安装:pip install django-redis
在sett文件加入redis的配置:
# redis的配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100}
# "PASSWORD": "密码",
}
}
} # 在代码中使用
from djang_redis import get_redis_connection def index(request):
conn = get_redis_connection("default")
return HttpResponse('设置成功') def order(request):
conn = get_redis_connection('default')
conn.hget('kkk', 'age') return HttpResponse('获取成功')
四 其他高级使用
a 网站全站缓存
使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
settings:
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware',
# 其他中间件...
'django.middleware.cache.FetchFromCacheMiddleware',
] CACHE_MIDDLEWARE_ALIAS = ""
CACHE_MIDDLEWARE_SECONDS = "" # 缓存超时时间(秒)
CACHE_MIDDLEWARE_KEY_PREFIX = "" #
b 单独视图缓存
注意:要先把中间件的缓存去掉
方式一:
from django.views.decorators.cache import cache_page @cache_page(60 * 15)
def my_view(request):
...
方式二:
from django.views.decorators.cache import cache_page urlpatterns = [
url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)),
]
c 局部视图缓存
1 引入TemplateTag
{% load cache %}
2 使用缓存
{% cache 5000 缓存key %}
     缓存内容
{% endcache %}
Django中操作Redis的更多相关文章
- 用Python来操作redis 以及在Django中使用redis
		什么是Redis? Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包 ... 
- Django day35 redis连接池,redis-list操作,django中使用redis,支付宝支付
		一:redis连接池, 二:redis-list操作, 三:django中使用redis, 四:支付宝支付 
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
		今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ... 
- {Django基础八之cookie和session}一 会话跟踪    二 cookie         三 django中操作cookie        四 session        五 django中操作session
		Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ... 
- django中操作cookie与session
		cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ... 
- Redis入门教程(三)— Java中操作Redis
		在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ... 
- 137.在Django中操作session
		在Django中操作session 在django中session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到 ... 
- redis的介绍与操作及Django中使用redis缓存
		redis VS mysql的区别 """ redis: 内存数据库(读写快).非关系型(操作数据方便) mysql: 硬盘数据库(数据持久化).关系型(操作数据间关系) ... 
- 在Django中使用redis:包括安装、配置、启动。
		一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-.tar ... 
随机推荐
- Fabric实例
			Fabric的官网 http://fabric-chs.readthedocs.io/zh_CN/chs/index.html 参考<Python自动化运维 技术与最佳实践> 1:查 ... 
- Spring生态研习【二】:SpEL(Spring Expression Language)
			1. SpEL功能简介 它是spring生态里面的一个功能强大的描述语言,支在在运行期间对象图里面的数据查询和数据操作.语法和标准的EL一样,但是支持一些额外的功能特性,最显著的就是方法调用以及基本字 ... 
- Xilinx 7 series FPGA multiboot技术的使用
			Xilinx 7 series FPGA multiboot技术的使用 当升级程序有错误的时候,系统会启动golden bitstream 注意:需要在源工程与升级工程中添加如下约束语句 生成组合mc ... 
- jenkins搭配git 从远程端拉取代码回来执行的问题
			jenkins上git 拉取回来的代码是在 工作区的文件夹里面(默认每次拉取最新的版本下来的)(不是自己本地仓库的那个) (晕~~,一开始以为是拉取回自己的本地仓库) 找到jenkins git里面 ... 
- Grafana+Prometheus打造springboot监控平台
			1. 环境 springboot 1.5.10.RELEASE Grafana 5.4.2 Prometheus 2.6.0 jdk 1.8 2.通过micrometer与springboot应用和p ... 
- Prometheus介绍
			Prometheus的主要特点 Prometheus 属于一站式监控告警平台,依赖少,功能齐全.Prometheus 支持对云的或容器的监控,其他系统主要对主机监控.Prometheus 数据查询语句 ... 
- Linux下的文件操作——基于文件指针的文件操作(缓冲)
			目录操作 创建和删除目录: 原型为: #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> ... 
- 批量IP自动netcat脚本
			批量IP自动netcat脚本nc.sh 在同一目录新建一个名为ncip的文件,并以每行一个IP的方式罗列.使用sh命令执行nc.sh.此例中是测试22端口访问情况. #!/bin/bash IP_LI ... 
- libevent安装后缺少libevent_openssl.so
			最近要使用阿里的rocketmq,需要依赖libevent,所以下了个源码自己编译安装,安装过程按照readme来的: 1 ./configure 2 make 3 make install 但是安装 ... 
- 3. tomcat 内存设置
			-Xms512m -Xmx1024m -XX:PermSize=512M 
