1. 程式人生 > >django框架使用者許可權中的session快取到redis中

django框架使用者許可權中的session快取到redis中

django框架預設將session儲存到資料庫中,在高併發訪問無疑會影響伺服器效能,因此最好將session儲存到redis中避免直接從資料庫中讀取session資料

settings.py中配置如下:

#配置redis
CACHES = {
    'default': {
        'BACKEND': 'redis_cache.RedisCache',
        'LOCATION': '127.0.0.1:6379',
        'OPTIONS': {
            'DB': 0,
            'PASSWORD': 'abxdcfgda'
, 'PARSER_CLASS': 'redis.connection.HiredisParser', # 'PICKLE_VERSION': 2, #'CONNECTION_POOL_CLASS': 'redis.ConnectionPool', 'SOCKET_TIMEOUT': 10, #'CONNECTION_POOL_CLASS_KWARGS': { # 'max_connections': 2, # } }, }, } SESSION_COOKIE_AGE=30
* 60 #設定session過期時間為30分鐘 '''配置session引擎SESSION_ENGINE為redis,配置此處session會儲存在redis中,不會再去操作資料庫了''' SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

在登入函式中可以設定session有效期:request.session.set_expiry(30 * 60)