Django框架配置Session,配置session的存储引擎

鳄鱼君

发表文章数:643

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python » Django框架配置Session,配置session的存储引擎

在前面我们讲过的session和cookie都是存在于数据库中的,我们可以修改它,在此之前我们需要知道,如果settings.py配置文件中存在:

SESSION_ENGINE='django.contrib.sessions.backends.db'  #引擎

这就表示把session存在数据库中,想要修改只需要更换引擎。Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:

  • 数据库(默认)
  • 缓存
  • 文件
  • 缓存+数据库
  • 加密cookie

缓存Session

 配置 settings.py
 
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'  # 引擎
    SESSION_CACHE_ALIAS = 'default'   # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置

你只需要在settings.py文件中配置上面的代码,不需要修改其他的地方,操作还是同数据库中的一样。如果使用Memcache缓存的话,需要添加额外进行配置:

 CACHES = {  
        'default': {   # SESSION_CACHE_ALIAS = 'default'
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': [
                '172.19.26.240:11211',
                '172.19.26.242:11211',
            ]
        }
        'db1': {   # SESSION_CACHE_ALIAS = 'db1'
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': [
                '172.19.26.240:11211',
                '172.19.26.242:11211',
            ]
        }
    }

在django内部不支持redis,只支持Memcache。

文件Session

其中SESSION_FILE_PATH表示文件夹路径

 配置 settings.py
 
    SESSION_ENGINE = 'django.contrib.sessions.backends.file'    # 引擎
    SESSION_FILE_PATH = None      # 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir()                                                           

    #SESSION_FILE_PATH=os.path.join(BASE_DIR,'cache') #会在当前路径下创建一个cache目录,保存session
    #默认情况,django会自动帮你找个文件目录保存
 

缓存+数据库Session

先去缓存中寻找,没有就去数据库中寻找,这也是网站的常用方法。

数据库用于做持久化,缓存用于提高效率
 
配置 settings.py
 
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'        # 引擎

加密cookie Session

加密cookie其实是把两者都放到cookie中,加密一下,session是没有使用。

配置 settings.py
     
    SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'   # 引擎

所有的对于session的基本操作都是一样的,只是配置的引擎不一样,有关session的基本操作,可参考:Django框架中Cookie和Session结合使用

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Django框架配置Session,配置session的存储引擎》 发布于2020-04-25

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

6 + 7 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册