zoukankan      html  css  js  c++  java
  • django redis配置和简单使用

    配置

    # 设置redis缓存
    CACHES = {
        # 默认缓存
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            # 项目上线时,需要调整这里的路径
            "LOCATION": "redis://127.0.0.1:6379/0",
    
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        },
        # 提供给xadmin或者admin的session存储
        "session": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        },
        # 提供存储短信验证码
        "sms_code": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/2",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    
    # 设置xadmin用户登录时,登录信息session保存到redis
    SESSION_ENGINE = "django.contrib.sessions.backends.cache"
    SESSION_CACHE_ALIAS = "session"
     

    使用

    # 获取redis连接
    red = get_redis_connection('sms_code')
    
    code = '%6d' % random.randint(1, 999999)
    red.setex('phone_%s' % phone, 5 * 60, code, )
    red.setex('phone_%s_interval' % phone, 60, code)

     redis事务操作

    code = '%6d' % random.randint(1, 999999)
    # 使用事务来操作命令,一条失败全都是失败
    # 创建管道
    pipe = red.pipeline()
    # 开启事务
    pipe.multi()
    pipe.setex('phone_%s' % phone, SMS_EXPIRATION_TIME, code, )
    pipe.setex('phone_%s_interval' % phone, SMS_INTERVAL_TIME, code)
    # 执行事务
    pipe.execute()
  • 相关阅读:
    3.10 Go Map哈希表
    3.9 Go Slice切片
    3.8 Go Array数组
    3.7 Go指针
    3.6 Go String型
    3.5 Go布尔型
    3.4 Go字符型
    3.3 Go浮点型
    3.2 Go整数类型
    3.1Go变量
  • 原文地址:https://www.cnblogs.com/wtil/p/14948260.html
Copyright © 2011-2022 走看看