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

手机网站开发费用流量精灵网页版

手机网站开发费用,流量精灵网页版,wordpress文章页面修改,wordpress自定义搜索文件通过Redis或Caffeine存储入json型String,通过JSON.parseObject自动类型转化之后,数值会优先转为Intage,如果存入的字符值大于Intage最大值,会自动转为Long型; 需求是:实要取出时数值类型值为Long&#xff1…

通过Redis或Caffeine存储入json型String,通过JSON.parseObject自动类型转化之后,数值会优先转为Intage,如果存入的字符值大于Intage最大值,会自动转为Long型;
需求是:实要取出时数值类型值为Long;

1、写入Caffeine缓存
    public static void put(String key, Map val) {cache.put(key, JSONObject.toJSONString(val));}
2、获取Caffeine缓存
    public static Optional<Map> get(String key) {String value = cache.getIfPresent(key);Map maps = JSON.parseObject(value, Map.class);return Optional.ofNullable(maps);}
3、解决方法

在获取缓存时,使用TypeReference强制将存储转为指定类型;

Map maps = JSON.parseObject(value, new TypeReference<Map<Long, String>>() {}, Feature.InitStringFieldAsEmpty);
4、完整样例

CaffeineUtil.java

public class CaffeineUtil {public static Cache<String, String> cache = Caffeine.newBuilder().initialCapacity(800).maximumSize(2000).expireAfterWrite(Duration.ofMinutes(60)).build();public static Optional<Map> get(String key) {String value = cache.getIfPresent(key);//会将存入的Map中Long对象自动转化为Integer型//但如果值超出了Integer的最大值,会自动转为Long型//Map maps = JSON.parseObject(value, Map.class);//强制将存储转为Map<Long, String>Map maps = JSON.parseObject(value, new TypeReference<Map<Long, String>>() {}, Feature.InitStringFieldAsEmpty);return Optional.ofNullable(maps);}public static void put(String key, Map val) {cache.put(key, JSONObject.toJSONString(val));}
}

TestCaffeineController.java

public class TestCaffeineController {@RequestMapping("/testCaffeine")public Object testCaffeine(Long userId){String userImg = this.getCacheData(userId);return "获取到的userImg:"+userImg;}public String getCacheData(Long userId){Map<Long, String> UserMaps = new HashMap<>();String cacheKey = userId+"_key";Optional<Map> cacheUserMaps =  CaffeineUtil.get(cacheKey);if(cacheUserMaps.isPresent()){UserMaps = cacheUserMaps.get();}else{JSONArray userArray = new JSONArray();JSONObject object1= new JSONObject();object1.put("id", 1l);object1.put("imgUrl", "aaaaaaa");JSONObject object2= new JSONObject();//因为该值已经超过Intage型最大值,在从缓存中取出时会自动转成Long类型object2.put("id", 234567899999l);object2.put("imgUrl", "bbbbbbb");userArray.add(object1);userArray.add(object2);if(CollectionUtils.isNotEmpty(userArray)){UserMaps = userArray.stream().collect(Collectors.toMap(o -> ((JSONObject)o).getLong("id"), o -> ((JSONObject)o).getString("imgUrl")));CaffeineUtil.put(cacheKey, UserMaps);}}//如果从缓存中取的UserMaps类型为Integer型,这里将匹配不到if(UserMaps.containsKey(userId)) {System.out.println("存在该值.");return UserMaps.get(userId);}else{System.out.println("不存在该值.");}return null;}
}
http://www.mmbaike.com/news/25880.html

相关文章:

  • 徐东网站建设公司网络营销五种方法
  • 网站建设那家好软文推广多少钱一篇
  • 怎么找做网站的刷关键词排名系统
  • 购物网站后台管理系统百度投诉电话人工服务总部
  • 永州城乡建设网站关键词搜索优化外包
  • 速卖通跨境电商官网企业关键词排名优化哪家好
  • 日照人才网网站推广优化是什么意思
  • wordpress添加社交媒体网站推广优化怎么做最好
  • 网站建站的尺寸想做网络推广的公司
  • 怎么去营销自己的产品网站外链的优化方法
  • 湖南智能网站建设推荐长沙网站seo分析
  • 视频网站开发视频百度权重等级
  • 镇江高端网站建设工作室深圳市文化广电旅游体育局
  • 吉林网站建设合肥网络优化推广公司
  • 南通企业网站怎么建设上海网络关键词优化
  • 网站建设数据库模板湖南竞价优化哪家好
  • 产品发布网站搜索百度下载安装
  • 电影网站在线播放怎么做百度搜索竞价排名
  • 北京疫情最新消息2023年成都seo的方法
  • 什么做直播网站好专业关键词优化平台
  • 高端网站建设设计公司有哪些百度免费收录提交入口
  • 什么是口碑营销seo顾问赚钱吗
  • 学做网站看书会了吗域名污染查询网站
  • 成都网站制作推来客网站系统好吗企业网站建设
  • 网站建设思维导图模版北京互联网营销公司
  • 制作网站软件百度推广天天打骚扰电话
  • 环保公司网站架构怎么做网站搜索引擎优化情况怎么写
  • 丽水品牌网站设计百度客户端下载安装
  • java图书管理网站建设seo是什么东西
  • 网站模版源码杭州seo服务公司