• 20100822 动漫店 员工卡缓存出现问题。


    获取缓存列表,出现重复信息。

    输入新的卡信息无效。提示不存在。

    缓存貌似并没有起作用,每次仍然获取远程数据。

    1. 检查缓存文件,的确是重复数据。

    代码
      <DeepCacheItem cachekey="C8431E35E4C10054AC77C2A76782AF85" createdate="2010-8-22 21:00:29" enddate="2010-8-28 21:00:29" hitrate="0">
        
    <MethodName>SEARCHMEMBERINFORMATION</MethodName>
        
    <MethodResponse></MethodResponse>
      
    </DeepCacheItem>
      
    <DeepCacheItem cachekey="16BCD5B1299E5A5D085F2E0E8D43AEBD" createdate="2010-8-22 21:02:11" enddate="2010-8-28 21:02:11" hitrate="0">
        
    <MethodName>SEARCHMEMBERINFORMATION</MethodName>
        
    <MethodResponse></MethodResponse>
      
    </DeepCacheItem>
      
    <DeepCacheItem cachekey="C8431E35E4C10054AC77C2A76782AF85" createdate="2010-8-22 21:09:12" enddate="2010-8-28 21:09:12" hitrate="0">
        
    <MethodName>SEARCHMEMBERINFORMATION</MethodName>
        
    <MethodResponse></MethodResponse>
      
    </DeepCacheItem>

    从时间上看,是因为缓存到期了。

    <DeepCacheItem cachekey="16BCD5B1299E5A5D085F2E0E8D43AEBD" createdate="2010-8-16 15:03:03" enddate="2010-8-22 15:03:03" hitrate="0">

    所以发生了读取远程操作。

    2. MRU容量,默认是50。获取的缓存内容:45. 没有到达最大值。

    3. NOebe.MemoryCaches 和 remoting一样使用了MostRecentlyUsedList,因此不是这个问题。

    4. 检查remoting是否能够获取网站信息。能够获取卡信息。

    问题原因:

    ------------------

    1. 即使使用了缓存,仍然需要先login、操作完毕logout,导致了性能低下。而且获取缓存在很多操作之后,需要修改这部分!

    2. 由于每次都要登录链接网络,如果登录失败,和数据不存在的结果都是:卡信息不存在,因此终端看不出问题。

    3. 缓存层,如果多次添加,并不会删除就记录,这里是导致了重复数据出现的原因。

    综合来说,是因为22号数据过期,之后被重复插入的时候,一直判读过期,并且缓存容量为50,导致了重复数据出现。

    bug就是过期数据覆盖没有生效。

    解决方案:

    ------------------ 

    1. 重新修改缓存远程操作。

    2. 卡信息永久保存,不超时处理。

    3. 添加缓存的时候,先删除重复数据。

  • 相关阅读:
    省选前模拟
    $SA$后缀数组
    一键运行
    多项式$fft$,$ntt$,$fwt$初步
    插头$DP$初步
    网络流初步
    欧拉路相关
    模板—Hash_map
    HZOJ Function
    HZOJ Tree
  • 原文地址:https://www.cnblogs.com/zc22/p/1805973.html
Copyright © 2020-2023  润新知