Django Redis配置

  1. # Django默认不支持redis,需要第三方插件来支持
  2. pipenv install django-redis
  3. pipenv install hiredis # 不是必须
  1. vim settings.py
  2. CACHES = {
  3. 'default': {
  4. 'BACKEND': 'django_redis.cache.RedisCache',
  5. 'LOCATION': 'redis://192.168.2.128:6379/1',
  6. 'TIMEOUT': 300, # NONE 永不超时
  7. 'OPTIONS': {
  8. 'CLIENT_CLASS': 'django_redis.client.DefaultClient', # redis-py 客户端
  9. 'PARSER_CLASS': 'redis.connection.HiredisParser', # hiredis是C客户端,性能更高
  10. 'PASSWORD': 'mysecret', # 密码,可不设置
  11. 'PICKLE_VERSION': -1, # 插件使用PICKLE进行序列化,-1表示最新版本
  12. 'SOCKET_CONNECT_TIMEOUT': 5, # 连接超时
  13. 'SOCKET_TIMEOUT': 5, # 读写超时
  14. 'CONNECTION_POOL_KWARGS': {"max_connections": 100} # 连接池最大连接数
  15. },
  16. 'CONNECTION_POOL_CLASS': 'redis.connection.BlockingConnectionPool', # 自定义连接池
  17. }
  18. }
  19. # 支持主从哨兵模式
  20. CACHES = {
  21. 'default': {
  22. 'BACKEND': 'django_redis.cache.RedisCache',
  23. 'LOCATION': [
  24. 'redis://192.168.2.128:6379/1', # master
  25. 'redis://192.168.2.128:6380/1', # slave
  26. ]
  27. }
  28. }
  1. # cache是django提供的代理对象,根据配置的BACKEND进行操作
  2. from django.core.cache import cache
  3. cache.set('foo', 'value', timeout=25)
  4. cache.set('foo', 'value', timeout=None)
  5. cache.ttl('foo')
  6. cache.persist('foo') # 永不过期
  7. cache.expire("foo", timeout=5)
  8. cache.keys("foo_*")
  9. cache.iter_keys("foo_*")
  10. cache.delete_pattern("foo_*")
  11. cache.set("key", "value1", nx=True) # 实现 SETNX原子操作
  12. # key必须存在,否则报错
  13. cache.incr("key")
  14. cache.incr("key")
  15. # 获得所使用的客户端对象
  16. from django_redis import get_redis_connection
  17. con = get_redis_connection("default")

Django Redis配置的更多相关文章

  1. Django中配置用Redis做缓存和session

    django-redis文档: http://django-redis-chs.readthedocs.io/zh_CN/latest/# 一.在Django中配置 # Django的缓存配置 CAC ...

  2. Linux中python3,django,redis以及mariab的安装

    1. Linux中python3,django,redis以及mariab的安装 2. CentOS下编译安装python3 编译安装python3.6的步骤 1.下载python3源码包 wget ...

  3. Django - 常用配置

    一.logging配置 Django项目常用的logging配置 settings.py LOGGING = { 'version': 1, 'disable_existing_loggers': F ...

  4. Django redis的使用

    一 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...

  5. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  6. redis 配置

    一 Redis 支持写的指令 Redis大概的命令如下:set setnx setex appendincr decr rpush lpush rpushx lpushx linsert lset r ...

  7. redis配置详解

    ##redis配置详解 # Redis configuration file example. # # Note that in order to read the configuration fil ...

  8. Redis配置集群一(window)

    因为接下来的项目要使用到redis作为我们项目的缓存,所以就花了一天时间研究了一下redis的一些用法,因为没转linux虚拟机,所以就决定先研究一下windows版本的redis集群.主要是redi ...

  9. Django环境配置

    Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...

随机推荐

  1. python 图片格式转换png转jpg,如何利用python给图片添加半透明水印

    from PIL import Imageim = Image.open(r'd:\test2.png')r, g, b, a = im.split()im = Image.merge("R ...

  2. PHP cURL 超时设置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别

    PHP cURL 的超时设置有两个 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT,他们的区别是: CURLOPT_CONNECTTIMEOUT 用来告诉 PHP 在 ...

  3. Unity初学者必备5款资源插件

    Unity技术经理Sam Dogantimur为Unity初学者精心挑选和推荐了5款入门必备资源插件,涵盖游戏开发原型创作.着色器特效以及角色控制等,帮助Unity新手快速上手游戏开发. 我们将详细介 ...

  4. date命令时间戳和时间之间的转换

    这里是在mac下的操作,主要就是用date这个命令,更多的用法用man命令查看 字符串格式时间 TO 时间戳我们知道date 命令可以直接把当前时间转化为时间戳 # date +%s143678152 ...

  5. k8s记录-pip源配置

    #pip源# 清华大学https://pypi.tuna.tsinghua.edu.cn/simple/https://mirrors.tuna.tsinghua.edu.cn/pypi/web/si ...

  6. Bcrypt.check_pass/3 用法

    defmodule My do defstruct password: "", apassword_hash: "", aencrypted_password: ...

  7. python使用consul进行服务注册和发现

    阅读目录 一.安装启动consul 二.python服务注册 三.golang服务注册 四.通过API的方式获取信息 回到顶部 一.安装启动consul 1.通过docker快速安装 #获取docke ...

  8. JAVA windows环境配置,jdk的安装配置

    一.需要的文件与下载1.jdk:jdk下载:二.安装与配置1.jdk安装与路径选择 双击安装,然后一直下一步,直至完成. 这是个人的自定义的安装目录路径(安装路径可在安装的时候自行选择,) 2.jdk ...

  9. PHP设计模式 - 门面模式

    门面模式 (Facade)又称外观模式,用于为子系统中的一组接口提供一个一致的界面.门面模式定义了一个高层接口,这个接口使得子系统更加容易使用:引入门面角色之后,用户只需要直接与门面角色交互,用户与子 ...

  10. LeetCode 131. 分割回文串(Palindrome Partitioning)

    131. 分割回文串 131. Palindrome Partitioning 题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. LeetC ...