Django Redis配置
Django Redis配置
# Django默认不支持redis,需要第三方插件来支持
pipenv install django-redis
pipenv install hiredis # 不是必须
vim settings.py
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://192.168.2.128:6379/1',
'TIMEOUT': 300, # NONE 永不超时
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient', # redis-py 客户端
'PARSER_CLASS': 'redis.connection.HiredisParser', # hiredis是C客户端,性能更高
'PASSWORD': 'mysecret', # 密码,可不设置
'PICKLE_VERSION': -1, # 插件使用PICKLE进行序列化,-1表示最新版本
'SOCKET_CONNECT_TIMEOUT': 5, # 连接超时
'SOCKET_TIMEOUT': 5, # 读写超时
'CONNECTION_POOL_KWARGS': {"max_connections": 100} # 连接池最大连接数
},
'CONNECTION_POOL_CLASS': 'redis.connection.BlockingConnectionPool', # 自定义连接池
}
}
# 支持主从哨兵模式
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': [
'redis://192.168.2.128:6379/1', # master
'redis://192.168.2.128:6380/1', # slave
]
}
}
# cache是django提供的代理对象,根据配置的BACKEND进行操作
from django.core.cache import cache
cache.set('foo', 'value', timeout=25)
cache.set('foo', 'value', timeout=None)
cache.ttl('foo')
cache.persist('foo') # 永不过期
cache.expire("foo", timeout=5)
cache.keys("foo_*")
cache.iter_keys("foo_*")
cache.delete_pattern("foo_*")
cache.set("key", "value1", nx=True) # 实现 SETNX原子操作
# key必须存在,否则报错
cache.incr("key")
cache.incr("key")
# 获得所使用的客户端对象
from django_redis import get_redis_connection
con = get_redis_connection("default")
Django Redis配置的更多相关文章
- Django中配置用Redis做缓存和session
django-redis文档: http://django-redis-chs.readthedocs.io/zh_CN/latest/# 一.在Django中配置 # Django的缓存配置 CAC ...
- Linux中python3,django,redis以及mariab的安装
1. Linux中python3,django,redis以及mariab的安装 2. CentOS下编译安装python3 编译安装python3.6的步骤 1.下载python3源码包 wget ...
- Django - 常用配置
一.logging配置 Django项目常用的logging配置 settings.py LOGGING = { 'version': 1, 'disable_existing_loggers': F ...
- Django redis的使用
一 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...
- Python Virtualenv运行Django环境配置
系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...
- redis 配置
一 Redis 支持写的指令 Redis大概的命令如下:set setnx setex appendincr decr rpush lpush rpushx lpushx linsert lset r ...
- redis配置详解
##redis配置详解 # Redis configuration file example. # # Note that in order to read the configuration fil ...
- Redis配置集群一(window)
因为接下来的项目要使用到redis作为我们项目的缓存,所以就花了一天时间研究了一下redis的一些用法,因为没转linux虚拟机,所以就决定先研究一下windows版本的redis集群.主要是redi ...
- Django环境配置
Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...
随机推荐
- tomcat启动慢的解决办法
SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generatio ...
- -bash: /bin/grep: Argument list too long和 find: Arguments to -type should contain only one letter报错处理
由于要查找的文件太多 过滤成只找具体时间一天以内的文件 | 查找最近30分钟修改的当前目录下的.php文件 查找最近24小时修改的当前目录下的.php文件 查找最近24小时修改的当前目录下的.php文 ...
- C# default(T)关键字
C#关键词default函数,default(T)可以得到该类型的默认值. C#在类初始化时,会给未显示赋值的字段.属性赋上默认值,但是值变量却不会. 值变量可以使用默认构造函数赋值,或者使用defa ...
- 使用create-react-app遇到问题解决方案汇总
使用create-react-app时遇到Module not found问题 转 https://blog.csdn.net/wkq_1212/article/details/90291558 本来 ...
- webconfig 配置 分离
https://blog.csdn.net/zhifeiya/article/details/38828711 如标题,如何把 asp.net webconfig的appSettings分离到单独文件 ...
- Python3基础 yield 在无返回值的函数中的简单示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Qt button按钮添加Label标签播放GIF图片
QPushButton btn = new QPushButton(); QVBoxLayout* layout = new QVBoxLayout(btn); QLabel* label = new ...
- linux广播
linux广播 // 发送端 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #incl ...
- 编写vscode插件
一.参考学习 https://www.cnblogs.com/liuxianan/p/vscode-plugin-publish.html https://code.visualstudio.com/ ...
- LODOP纸张/打印机/份数/打印方向/双面打印 简短问答
纸张#如何设置纸张纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html纸张的一些优先级 http://www.c-lodop.com ...