有专门的缓存开源库memcache等等干嘛要自己弄,

解决方案 »

  1.   

    你可以这样做。首先缓存可以想像成一个Map,那么你存放的信息必须有一个KEY。这个KEY你需要根据一些信息你自己来构造。
    比如用户的装备信息,那么一个“统一的前辍字串+用户ID”,这样就可以了。查询只需要根据当前用户ID就可以轻松在缓存里查询到你放进去的信息,但是缓存肯定是要考虑信息过期的那么重点就这在这里。我的建议是如果在权威数据(比如数据库)那里查询这个信息比较费时,那么你可以在数据被更改的时候就直接将新的信息构造一份写入缓存,这样避免缓存穿透问题(缓存失效,全部压到数据库上)。反之在数据更新时你只需要简单的构造这个KEY,删除就行了。把更新缓存的动作放在缓存没有命中的情况下。 不过那种做法,最好是都把这些动作封装在一个地方。