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

网站css初始化搜索引擎优化主要包括

网站css初始化,搜索引擎优化主要包括,php做的网站模板,网站开发职业生涯规划书Guava Cache 是 Google 的 Guava 库提供的一个高效内存缓存解决方案&#xff0c;适用于需要快速访问且不频繁变更的数据。 // 普通缓存 Cache<Key, Value> cache CacheBuilder.newBuilder().maximumSize(1000) // 最大条目数.expireAfterWrite(10, TimeUnit.MINUTES) /…

Guava Cache 是 Google 的 Guava 库提供的一个高效内存缓存解决方案,适用于需要快速访问且不频繁变更的数据。

// 普通缓存
Cache<Key, Value> cache = CacheBuilder.newBuilder().maximumSize(1000) // 最大条目数.expireAfterWrite(10, TimeUnit.MINUTES) // 写入后10分钟过期.recordStats() // 开启统计.build();// 自动加载缓存(LoadingCache)
LoadingCache<Key, Value> loadingCache = CacheBuilder.newBuilder().maximumWeight(10_000).weigher((Key k, Value v) -> v.size()) // 按值大小计算权重.build(new CacheLoader<Key, Value>() {@Overridepublic Value load(Key key) throws Exception {return loadDataFromDataSource(key); // 缺失时自动加载}});

2. 核心操作

// 手动放入缓存
cache.put(key, value);// 获取缓存(缺失时返回null)
Value value = cache.getIfPresent(key);// 获取并自动加载(LoadingCache)
Value value = loadingCache.get(key); // 若缺失,调用CacheLoader.load()// 手动移除
cache.invalidate(key);
cache.invalidateAll(); // 清空所有缓存

3. 过期策略

  • 时间驱动​:
    • expireAfterWrite(duration):写入后指定时间过期。
    • expireAfterAccess(duration):最后一次访问后指定时间过期。
  • 容量驱动​:
    • maximumSize(long):基于LRU策略淘汰条目。
    • maximumWeight(long) + weigher:按条目权重计算总容量。

4. 自动加载(LoadingCache)​

  • 同步加载​:通过 CacheLoader.load() 方法在缓存未命中时同步加载数据。
  • 批量加载​:重写 loadAll(Iterable<? extends K> keys) 提升多键加载效率。
  • 异步刷新​:使用 refreshAfterWrite(duration) 在后台异步刷新过期条目,避免阻塞读取。

5. 移除监听器(RemovalListener)​

监听缓存条目被移除的事件,执行资源释放等操作:

RemovalListener<Key, Value> listener = notification -> {if (notification.wasEvicted()) {// 处理资源释放}
};Cache<Key, Value> cache = CacheBuilder.newBuilder().removalListener(listener).build();

6. 统计信息

通过 recordStats() 启用统计,获取命中率、加载时间等数据:

Cache<?, ?> cache = CacheBuilder.newBuilder().recordStats().build();
// ...
CacheStats stats = cache.stats();
double hitRate = stats.hitRate(); // 命中率
long missCount = stats.missCount(); // 未命中次数

7. 线程安全

Guava Cache 默认线程安全,支持高并发读写,无需额外同步。


8. 异常处理

  • CacheLoader 中抛出的异常会被封装为 UncheckedExecutionException
  • 建议在 load 方法中捕获异常,或通过 getUnchecked() 处理。

9. 使用场景

  • 高频读取,低频变更​:如配置信息、用户会话。
  • 计算密集型数据​:避免重复计算(如复杂查询结果)。
  • 资源敏感场景​:通过权重控制内存占用。

示例代码

LoadingCache<String, String> cache = CacheBuilder.newBuilder().maximumSize(1000).expireAfterAccess(5, TimeUnit.MINUTES).recordStats().build(new CacheLoader<String, String>() {@Overridepublic String load(String key) {return fetchDataFromDB(key); // 缺失时从数据库加载}});// 使用缓存
try {String data = cache.get("user:123");
} catch (ExecutionException e) {// 处理加载异常
}// 手动刷新
cache.refresh("user:123");

通过合理配置策略,Guava Cache 能有效平衡内存使用与性能,是 Java 应用中轻量级缓存的优选方案。

http://www.dtcms.com/wzjs/60871.html

相关文章:

  • 有没有什么做水利资料的网站国内永久免费云服务器
  • 北京市建设规划网站学做网站需要学什么
  • 测试网站怎么做的app运营推广是干什么
  • 集团网站制作公司app拉新推广平台代理
  • 大连h5网站建设营销方式有哪几种
  • b2c名词解释seo整站优化吧
  • 酒店手机网站模板友情链接的形式
  • 建设一个网站的具体步骤百度快照下载
  • 长沙做网站 青创互联厦门seo管理
  • 网站建设开票规格明细单位怎么写制作链接的小程序
  • 如何做图片网站企业网站推广有哪些
  • 怎么做自己的优惠淘网站手机黄页怎么找
  • 广州商城网站建设网上国网app推广方案
  • 网站建设需要使用哪些设备产品推广介绍
  • 做网站现在还行吗各地疫情最新消息
  • 滕王阁环境建设网站百度搜索排行榜风云榜
  • 云南网站建百度seo排名点击软件
  • 安徽省建设工程造价信息网站太原seo优化
  • 小米商城wordpress旺道seo优化
  • php网站 关键技术海外营销公司
  • 怎么做电影网站app什么是seo搜索引擎优化
  • 网站设计美工排版编辑宁波关键词优化排名工具
  • 怎么用 java做网站自动点击器app
  • 做企业展示网站需要多少钱自己如何免费做网站
  • 去哪个网站做兼职网络推广靠谱吗
  • 惠州有哪些做网站的公司网站建设规划要点详解
  • 室内设计图网站有哪些口碑营销的产品
  • 企业建设网站应该一般多少钱网站收录服务
  • 房地产最新政策seo网络推广专员
  • 广州外贸营销型网站建设公司网络热词缩写