因为左边的菜单和用户权限相关,缓存在后台的list里面,正常情况下没有问题。List数据是一开始启动服务加载的,每次刷新后台都会去取缓存List,后台断点调试或打印发现list的大小没变,但是里面的值很多都不在了,取而代之的是许多重复的值,请各位帮帮忙,实在是找不出原因。(刷新的时候后台只是读取操作,没有任何的写、修改

解决方案 »

  1.   

    你好好检查检查往list中add的时候!
      

  2.   

    list 是不去重复的,你用的是全局list 每个用户进来都会向list 写权限,肯定会重复
    建议你用hashMap<user id ,permission list>读缓存时直接用user id 去找 permission list就可以的
      

  3.   

    现在是add的时候没有问题,我刷新的时候就不会add了,只会读取,我定义的是全局的list,相当于list里面add值进去了后,经过连续刷新,list里的值会变!这是我最想不通的地方!
      

  4.   

    list里的值会变 你每次刷新相当重新发了一次请求 到后台,然后后台重新运行代码,当然数据会变,检查以下你的代码逻辑。
      

  5.   

    我的意思你可能没明白,list里的值是启动服务的时候加载进去的,每次刷新只是读取list值,不去进行任何操作。
      

  6.   

    这个问题得你自己断点来差了,或者你改成set好了,自动闭屏重复值。
      

  7.   

      hibernate 关闭session.close() 搞定