一.背景:
很多情况下,我们需要将数据缓存在内存中,如果缓存有数据,则从缓存中取数据,没有则构建缓存,并放入到缓存中去。我能想到的有以下几种方式,分别做出思考。
1.加锁方式,观察下如下代码
3.无锁建缓存,适合涉及到服务调用,原则:始终只有一个线程在发起服务调用,其它线程阻塞get()
很多情况下,我们需要将数据缓存在内存中,如果缓存有数据,则从缓存中取数据,没有则构建缓存,并放入到缓存中去。我能想到的有以下几种方式,分别做出思考。
1.加锁方式,观察下如下代码
3.无锁建缓存,适合涉及到服务调用,原则:始终只有一个线程在发起服务调用,其它线程阻塞get()