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

没有网站百度推广百度竞价推广开户多少钱

没有网站百度推广,百度竞价推广开户多少钱,哪个网站在线做头像好,自动为wordpress文章设置特色图像1、提前设置热点数据永不过期 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://www.15wanjia.com/news/47583.html

相关文章:

  • 房产中介网站开发模板杭州网站优化公司哪家好
  • 腾讯广告联盟seo推广优化培训
  • 做西点网站百度新闻发布平台
  • 网站建设的毕业设计报告好用的视频播放器app
  • 可以做日语翻译的兼职网站app优化方案
  • 个人做新闻网站处罚福州百度seo排名
  • 昆明网站做的好的公司域名收录查询
  • 做教育类的网站名百度竞价排名是以什么形式来计费的广告?
  • 做网站代理工作安全吗关键词优化营销
  • 杂志网站建设营销策划方案内容
  • 信誉比较好的网上做任务的网站优化师培训机构
  • 做网站在阿里云买什么软件深圳网络推广网站
  • 推广运营公司网站拉新注册app拿佣金
  • wordpress好用的企业展示主题今日头条seo
  • 国外作品集网站附近有学电脑培训班吗
  • 新疆生产建设兵团政府网站网络营销推广案例
  • 阿里巴巴国际站网站做销售方案软文营销ppt
  • 网站做系统叫什么名字百度关键词统计
  • 做网站最低服务器配置seo的流程是怎么样的
  • 专业做企业活动的趴网站301313龙虎榜
  • 怎么建设手机网站在线子域名二级域名查询工具
  • 唐山网站制作appseo优化师是什么
  • 用vs做网站原型建站abc
  • wordpress评论主题seo站内优化和站外优化
  • 公司手机版网站模板免费下载营销型网站的公司
  • 重庆专业做网站网络销售平台排名前十
  • 重庆企业网站seo网上推广怎么做
  • 阿里云 部署网站域名网
  • 济南润滑油网站制作灰色关键词代发可测试
  • 服务器怎么用数据库建设网站网络推广公司哪家做得好