django使用redis存session,短信驗證碼

首先在setting文件中配置

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1", # 改成ubuntu的ip
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    "session": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/2",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        },
    "cart": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/3",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}


SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "session"

  • 然後安裝django中的redis: pip install django_redis

  • 下面就是如何使用redis(這只是單純的代碼,他必須寫在views下面的視圖函數中)

import json

from django_redis import get_redis_connection

# 1,實例化redis對象
data = {'kk':'ll'}
email = '123'
data = json.dumps(data)#轉換爲字符串的字典
print(type(data))
#set字段,注意data必須序列化
#實例化redis
redis_cli = get_redis_connection('default')#這個是上面配置setting中的命名"default","cart",,,,
redis_cli.set(f'cart-{email}', data,60)#60是以秒爲單位這個可以設置短信驗證碼有效時間
redis_cli.get(f'cart-{email}')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章