2010-08-22 动漫店 员工卡缓存出现问题。

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

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

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

 

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. 添加缓存的时候,先删除重复数据。

 

posted @ 2010-08-22 21:57    阅读(273)  评论(0编辑  收藏  举报
IT民工