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

浙江网站建设品牌升级wordpress短代码教程

浙江网站建设品牌升级,wordpress短代码教程,做房产经纪人要自己花钱开网站吗,做设计的网站商家入驻简介 在 Spring Boot 中,你可以使用多种方法来实现自动删除超时元素的 List 或 Map。以下是两种常见的方式: 如果你需要简单的功能并且不介意引入外部依赖,可以选择 Guava Cache。如果你想要更灵活的控制,使用 Spring 的调度功能…

简介

在 Spring Boot 中,你可以使用多种方法来实现自动删除超时元素的 List 或 Map。以下是两种常见的方式:

  • 如果你需要简单的功能并且不介意引入外部依赖,可以选择 Guava Cache。
  • 如果你想要更灵活的控制,使用 Spring 的调度功能也是一个不错的选择。

1. 使用 Scheduled Task

你可以使用 Spring 的 @Scheduled 注解来定期清理过期的元素。

import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;@Component
@EnableScheduling
public class CacheManager {//by https://zhengkai.blog.csdn.net/// 存储数据的 Map,使用 ConcurrentHashMap 以支持并发private final Map<String, Long> cacheMap = new ConcurrentHashMap<>();// 添加元素,设置当前时间戳public void put(String key) {cacheMap.put(key, System.currentTimeMillis());}// 定期清理超时元素@Scheduled(fixedRate = 60000) // 每分钟执行一次public void cleanUp() {long currentTime = System.currentTimeMillis();long timeout = 30 * 60 * 1000; // 30 分钟超时Iterator<Map.Entry<String, Long>> iterator = cacheMap.entrySet().iterator();while (iterator.hasNext()) {Map.Entry<String, Long> entry = iterator.next();if (currentTime - entry.getValue() > timeout) {iterator.remove(); // 删除超时元素}}}// 获取元素public Boolean get(String key) {return cacheMap.containsKey(key);}
}

在上面的代码中,我们创建了一个 CacheManager 类,它使用 ConcurrentHashMap 来存储元素及其添加时间。@Scheduled 注解用于定义定期清理超时元素的任务。定期任务每分钟执行一次,检查并删除 30 分钟之前添加的元素。

2. 使用 Guava Cache

如果你希望更简单地管理缓存,可以使用 Guava 的 Cache。它提供了过期策略的支持。

示例代码

首先,确保在 pom.xml 中添加 Guava 依赖:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>33.3.1-jre</version>
</dependency>

然后,使用 Guava Cache:

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;
import java.util.concurrent.TimeUnit;@Component
public class CacheManager {private Cache<String, String> cache;@PostConstructpublic void init() {// 创建一个支持过期的缓存,30分钟后过期。 by https://zhengkai.blog.csdn.net/cache = CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES).build();}// 添加元素public void put(String key, String value) {cache.put(key, value);}// 获取元素public String get(String key) {return cache.getIfPresent(key);}
}

在这个例子中,我们使用 Guava 的 CacheBuilder 创建了一个具有 30 分钟自动过期策略的缓存。使用 put 方法可以添加元素,而使用 getIfPresent 方法可以获取当前元素。

http://www.yayakq.cn/news/693853/

相关文章:

  • 龙岗网站建设方案房产系统平台
  • 做模具做什么网站京津冀协同发展的首要任务
  • 网站建设课程设计福州品牌网站设计
  • 衡水网站建设设计东莞网站推广裙
  • 景区外文网站建设效果图设计师主要做什么
  • 建站推荐网站广州刚刚通报
  • 建设销售网站英文网站站长工具
  • 做视频用的网站html网页设计代码作业大一
  • 广州专业的网站建设公司哪家好零食电子商务网站建设策划书
  • 营销型网站的建设软文设计师个人网站主页
  • 怎么建立挣流量的网站如何做框架网站
  • 农家乐网站建设多少钱苏州建设交通职业技术学院
  • 电商网站规划与设计论文wordpress 文章分开
  • 忒低网站长怎么做网站建设写代码
  • 容桂营销网站建设中国建设银行网址多少
  • 天津商城网站设计公司28网站建设
  • 站长工具精品广州网站建设q479185700棒
  • 公司企业网站建设多少钱便宜网站建设模板网站
  • 网站链接数本地生活网站 源码
  • 聊城网站策划本地南通网站建设
  • 新农村建设举报网站国外代理服务器ip免费
  • 郑州建设网站有哪些贵州网站推广
  • seo关键词优化培训班济南网站优化推广
  • 视频上传下载网站建设如何制作课程网站模板
  • wordpress构建自己的网站注册企业的流程有哪些
  • 长春南关网站建设wordpress链接
  • 银川市住房和城乡建设网站手机版网站版面设计怎么做
  • 沈阳网站建设首选龙兴科技设计开发输入清单
  • 济南公积金网站衡阳房产网
  • 怎么样建设个人网站建企业网站步骤