zoukankan      html  css  js  c++  java
  • 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    java几种基本排序算法
    Java 数组
    java自增(自减)运算符
    java数据类型
    java变量
    java注释
    c语言数字图像处理(十):阈值处理
    c语言数字图像处理(九):边缘检测
    c语言数字图像处理(五):空间滤波
    c语言数字图像处理(八):噪声模型及均值滤波器
  • 原文地址:https://www.cnblogs.com/ExMan/p/9777960.html
Copyright © 2011-2022 走看看