我在使用MemoryCache时如下代码:
测试时默认的20秒自动清空缓存
然后下面是调用cache 存cache的代码:然后有个奇怪的现象通过写的日志看出来,前几次缓存数据正常,后面就开始缓存不上数据了(这个缓存是在服务端用的)

解决方案 »

  1.   


    重新初始化谁?_Cache
      

  2.   


    重新初始化谁?_Cache就是MemoryCache.Default. 是在 GlobalCache的构造函数里给赋值的,然后SetSQLCache是GlobalCache的方法,在调用的时候肯定是实例化了GlobalCache了。
      

  3.   


    Cache就是MemoryCache.Default. 是在 GlobalCache的构造函数里给赋值的,然后SetSQLCache是GlobalCache的方法,在调用的时候肯定是实例化了GlobalCache了。
      

  4.   

    哇,过去这么久了都,不知道能不能恢复,看了楼上的问题,我猜测是应为内存缓存存储对象用的是浅拷贝,你可以在缓存对象时候采用json序列化,
    获取的时候反序列化,并且这个缓存会有并发问题,当初我是用trim(100)清空,在插入来刷新缓存导致有几次取到的数据为空,因此在更新缓存的时候使用并发锁,获取直接覆盖