我的问题与缓存有一定关系,假设有些线程每2秒访问一次我的信息,并且每3分钟就会在数据库中进行更新,所以我最好制作一个信息的哈希映射。由这些线程获取并在每3分钟后更新它并且所有线程都从hashmap获取数据。我的问题是“我将如何确保在3分钟之后我的hashmap将被其他一些线程更新,并且所有时间线程都应该获取最新信息”。
答案 0 :(得分:0)
您可以使用这样的逻辑来访问数据:
1)获取保护数据的锁。
2)检查数据最后一次更新的时间。
3)如果数据足够有效,请复制所需数据,解除锁定,然后停止。
4)更新数据。
5)更新在步骤2中检查的时间戳。
6)复制新数据。
7)解除锁定。
或者,您可以使用专用线程来根据需要更新数据。