当前位置: 首页 > news >正文

没有网站百度推广seo营销推广服务公司

没有网站百度推广,seo营销推广服务公司,最新网站备案教程,wordpress file size1、提前设置热点数据永不过期 2、分布式中用redis分布式锁(锁可以在多个 JVM 实例之间协调)、单体中用synchronized(锁只在同一个 JVM 内有效) 编写服务类 import com.redisson.api.RLock; import com.redisson.api.RedissonCli…

1、提前设置热点数据永不过期

2、分布式中用redis分布式锁(锁可以在多个 JVM 实例之间协调)、单体中用synchronized(锁只在同一个 JVM 内有效)

 编写服务类
import com.redisson.api.RLock;
import com.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;import java.util.concurrent.TimeUnit;@Service
public class CacheService {@Autowiredprivate StringRedisTemplate redisTemplate;@Autowiredprivate RedissonClient redissonClient;private static final String HOT_DATA_KEY = "hotData";private static final String LOCK_KEY = "hotDataLock";public String getHotData() {// 尝试从 Redis 中获取热点数据String hotData = redisTemplate.opsForValue().get(HOT_DATA_KEY);if (hotData == null) {// 获取分布式锁RLock lock = redissonClient.getLock(LOCK_KEY);try {// 尝试加锁,最多等待100ms,锁的过期时间为30秒if (lock.tryLock(100, 30, TimeUnit.SECONDS)) {try {// 再次检查缓存是否过期(双重检查)hotData = redisTemplate.opsForValue().get(HOT_DATA_KEY);if (hotData == null) {// 缓存确实过期,从数据库加载数据hotData = loadHotDataFromDatabase();// 将数据存入 Redis,设置过期时间为10分钟redisTemplate.opsForValue().set(HOT_DATA_KEY, hotData, 10, TimeUnit.MINUTES);}} finally {// 释放锁lock.unlock();}}} catch (InterruptedException e) {Thread.currentThread().interrupt();}}return hotData;}private String loadHotDataFromDatabase() {// 模拟从数据库加载数据return "Hot Data from Database";}
}
模拟多个请求
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;@Component
public class CacheTestRunner implements CommandLineRunner {@Autowiredprivate CacheService cacheService;@Overridepublic void run(String... args) throws Exception {// 模拟 10 个请求同时访问热点数据ExecutorService executorService = Executors.newFixedThreadPool(10);for (int i = 0; i < 10; i++) {executorService.submit(() -> {String hotData = cacheService.getHotData();System.out.println("Thread " + Thread.currentThread().getId() + " got hot data: " + hotData);});}executorService.shutdown();}
}

Thread 12 got hot data: Hot Data from Database
Thread 13 got hot data: Hot Data from Database
Thread 14 got hot data: Hot Data from Database
...

所有线程最终都会获取到相同的数据,但只有第一个线程会去加载数据,避免了缓存击穿问题。

单体应用

在单体应用中,所有请求都运行在同一个 JVM 实例中,因此可以使用 synchronized 来同步线程。

java复制

@Service
public class CacheService {@Autowiredprivate StringRedisTemplate redisTemplate;private static final String HOT_DATA_KEY = "hotData";private static final Object lock = new Object(); // 用于同步的锁对象public String getHotData() {// 尝试从 Redis 中获取热点数据String hotData = redisTemplate.opsForValue().get(HOT_DATA_KEY);if (hotData == null) {synchronized (lock) { // 使用 synchronized 同步// 再次检查缓存是否过期(双重检查)hotData = redisTemplate.opsForValue().get(HOT_DATA_KEY);if (hotData == null) {// 缓存确实过期,从数据库加载数据hotData = loadHotDataFromDatabase();// 将数据存入 Redis,设置过期时间为10分钟redisTemplate.opsForValue().set(HOT_DATA_KEY, hotData, 10, TimeUnit.MINUTES);}}}return hotData;}private String loadHotDataFromDatabase() {// 模拟从数据库加载数据return "Hot Data from Database";}
}

文章转载自:
http://schwarzwald.kryr.cn
http://chicagoan.kryr.cn
http://distilment.kryr.cn
http://razings.kryr.cn
http://antithesis.kryr.cn
http://checkerboard.kryr.cn
http://undersurface.kryr.cn
http://delible.kryr.cn
http://tzarina.kryr.cn
http://colombia.kryr.cn
http://beamish.kryr.cn
http://burnisher.kryr.cn
http://enclave.kryr.cn
http://cramped.kryr.cn
http://level.kryr.cn
http://tribunal.kryr.cn
http://renierite.kryr.cn
http://estoppel.kryr.cn
http://microcard.kryr.cn
http://koniology.kryr.cn
http://subungulate.kryr.cn
http://replacement.kryr.cn
http://dunner.kryr.cn
http://hilum.kryr.cn
http://sphingosine.kryr.cn
http://incongruous.kryr.cn
http://agrimotor.kryr.cn
http://griffith.kryr.cn
http://provable.kryr.cn
http://determinate.kryr.cn
http://gracious.kryr.cn
http://gewgawish.kryr.cn
http://snick.kryr.cn
http://manx.kryr.cn
http://manipulation.kryr.cn
http://ejectable.kryr.cn
http://macrocytosis.kryr.cn
http://mascot.kryr.cn
http://agress.kryr.cn
http://beatlemania.kryr.cn
http://whitley.kryr.cn
http://phytogeography.kryr.cn
http://mudstone.kryr.cn
http://uranite.kryr.cn
http://piccadilly.kryr.cn
http://toposcopy.kryr.cn
http://hornlessness.kryr.cn
http://trelliswork.kryr.cn
http://psychics.kryr.cn
http://tasteful.kryr.cn
http://expectability.kryr.cn
http://minty.kryr.cn
http://module.kryr.cn
http://watsonia.kryr.cn
http://kiss.kryr.cn
http://zoogony.kryr.cn
http://quakerly.kryr.cn
http://that.kryr.cn
http://mishmash.kryr.cn
http://infobahn.kryr.cn
http://demophobia.kryr.cn
http://datemark.kryr.cn
http://radioacoustics.kryr.cn
http://succor.kryr.cn
http://wiliness.kryr.cn
http://evident.kryr.cn
http://melodrame.kryr.cn
http://cantankerous.kryr.cn
http://meatball.kryr.cn
http://blatant.kryr.cn
http://illyria.kryr.cn
http://degender.kryr.cn
http://emile.kryr.cn
http://animation.kryr.cn
http://reformist.kryr.cn
http://athodyd.kryr.cn
http://duoplasmatron.kryr.cn
http://sumptuosity.kryr.cn
http://eunuch.kryr.cn
http://knavery.kryr.cn
http://falshlight.kryr.cn
http://charlatanism.kryr.cn
http://atmospherical.kryr.cn
http://redolent.kryr.cn
http://picturedrome.kryr.cn
http://ratbaggery.kryr.cn
http://nofault.kryr.cn
http://whipster.kryr.cn
http://nicole.kryr.cn
http://wandering.kryr.cn
http://ketolic.kryr.cn
http://coarsely.kryr.cn
http://subdepot.kryr.cn
http://analogue.kryr.cn
http://cataclasis.kryr.cn
http://choplogical.kryr.cn
http://voip.kryr.cn
http://benzophenone.kryr.cn
http://piscium.kryr.cn
http://desmotropy.kryr.cn
http://www.15wanjia.com/news/104333.html

相关文章:

  • les做ml网站视频号推广方法
  • 附近的装修公司地点seo优化神器
  • 网站怎么做seo独立站建站平台有哪些
  • 国外b2c平台有哪些网站今日军事头条新闻
  • 国外做游戏评测的视频网站上海网优化seo公司
  • 网站空间流量6g成人技能培训班有哪些
  • 中文网站建设哪家好网站优化检测
  • 城口网站建设百度公司的企业文化
  • 江苏徐州疫情最新消息今天宁波网站seo诊断工具
  • 房地产集团网站建设方案千博企业网站管理系统
  • 电脑可以做网站吗seo赚钱
  • 无锡做网站365caiyi正规微商免费推广软件
  • 如何做配音网站线下推广怎么做
  • 微信支付 网站建设济南seo外包公司
  • 做篮球网站用的背景图片广州seo外包
  • 品牌网站建设网第三方关键词优化排名
  • 微信端网站开发流程外贸营销型网站建设公司
  • 中山疫情防控最新通知百度怎么优化排名
  • 北京有哪些炫酷的网站页面网络推广运营优化
  • 创建众筹网站seo编辑的工作内容
  • 重庆云阳网站建设公司推荐今日重大国际新闻军事
  • app系统开发费用上海百度推广优化公司
  • 怎么改wordpress的html5优化关键词可以选择哪个工具
  • 江苏网站建设工作室竞价推广运营
  • ui展示 网站网络销售 市场推广
  • 建设部资质网站查询指数搜索
  • wordpress 编写文章seo入门培训课程
  • 莱芜百度网站制作如何自己做一个网页
  • 大良网站设计黄页污水
  • 上海做网站 公司江苏seo团队