django flask缓存memcache的key生成方法介绍

Posted ExplorerMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django flask缓存memcache的key生成方法介绍相关的知识,希望对你有一定的参考价值。

去年的一个django项目中,使用了memcache作为系统缓存,并实现多台机器上的缓存共享。配置的cache如下图所示:

 

最近在项目调试过程中,发现memcache在进行缓存时,使用的key并不是实际写入的key,一度我还以为是不是缓存的位置出BUG了。。想找下到底是存的是什么key:

telnet 10.200.75.11:11211

trying 10.200.75.11...
Connected to 10.200.75.11.
Escape character is ‘^]‘.

get somekey
END
1
2
3
4
5
6
7
8
发现memcache中并没有django中写入的key(somekey),但是在django中却能取出来,看来并不是数据过期的原因。

好,那就单步调试,看django里的源码到底是如何写key value的:

 

 

 

 

至此,我们已经发现了,原来在存储之前,给key加了个前缀,格式如下:

:1:somekey

现在再去Telnet中获取key:

 

至此,django中关于memcache的key问题终于解释清楚了,原来是加了一些前缀。

掉过头来看flask,猜测也是类似的操作,

flask中的cache配置:

 

单步跟着进去,发现竟然没有修改key的操作,再到Telnet中取一下,还真是没动key:

 

至此,我们可以发现:django在存储key的时候,加了一点前缀,而flask却没有。

希望能对你有所帮助。

AyoCross
2018年03月14日下午
---------------------
作者:AyoCross
来源:CSDN
原文:https://blog.csdn.net/AyoCross/article/details/79568382?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

以上是关于django flask缓存memcache的key生成方法介绍的主要内容,如果未能解决你的问题,请参考以下文章

flask-Memcached缓存系统

Django--缓存设置

Django之缓存

Django 缓存 使用 Redis Memcached 为网站提速

Django框架(二十八)—— Django缓存机制

Django 最好的缓存memcached的使用 小记