栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Redis删除会话(Django)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Redis删除会话(Django)

它不是很简单,但是我能够解决它。我从我有clean_sessions()的文件中导入了此文件:

from importlib import import_modulefrom django.conf import settings

然后,在函数内部,我加载了SessionStore对象:

SessionStore = import_module(settings.SESSION_ENGINE).SessionStore

从那里开始,删除会话非常容易,留下这样的方法:

def clean_sessions():    stored_sessions = Session.objects.all()    active_users = Request.objects.active_users(seconds=15)    active_users_ids = [user.id for user in active_users]    for session in stored_sessions:        SessionStore = import_module(settings.SESSION_ENGINE).SessionStore        s = SessionStore(session_key=session.session_key)        session_uid = session.get_depred().get('_auth_user_id')        if not session_uid: s.delete() continue        if session_uid not in active_users_ids: ## some pre ## s.delete()

从正在使用的任何会话引擎中加载正确的SessionStore非常重要,否则它将无法从两个位置(数据库和缓存)中将其删除。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391973.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号