问题描述:
使用Django,session基于缓存,缓存采用Memcached。现在如何绕开Django直接去Memcached取出session信息?关键是如何获取Memcached中的key。
相关源码:
django/core/cache/backends/base.py
django/core/cache/backends/memcached.py
django/contrib/sessions/backends/base.py
django/contrib/sessions/backends/cache.py
还需要看官方文档Settings中的默认值
阅读后即可知道,如何拼出key,直接给出结论:
KEY_PREFIX:VERSION:django.contrib.sessions.cacheSESSIONID
其中KEY_PREFIX来自Settings,默认值为空字符串
其中VERSION默认值是1
SESSIONID就是用户cookie记录的sessionid(Django中默认是32位)
举个例子:
:1:django.contrib.sessions.cachetxb1111221313242423423113rrr1234

本文揭示了如何在Django中利用Memcached作为会话缓存时,通过理解关键设置如KEY_PREFIX、VERSION和SESSIONID,直接操作Memcached获取session信息。实例化了一个 Memcached key 的构造方式:KEY_PREFIX:VERSION:django.contrib.sessions.cacheSESSIONID。
3万+

被折叠的 条评论
为什么被折叠?



