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

手机网站开发费用重庆seo排

手机网站开发费用,重庆seo排,企业网站建设费多少钱,广告自动跳转 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.tj-hxxt.cn/news/23390.html

相关文章:

  • 企业品牌网站建设应该怎么做网络推广优化seo
  • 学装修设计去哪里学河南纯手工seo
  • 网站开发方式有哪四种北京优化seo排名
  • 日本做ps4游戏视频网站百度app安装下载
  • 企业平台入口百度seo排名优化教程
  • flash网站片头动画7月新闻大事件30条
  • 做一网站困难吗站内关键词自然排名优化
  • 企业信息信用信息公示网官网北京seo教师
  • 成都网站建设 四川冠辰科技公司百度官网网站登录
  • 软件开发流程文档模板杭州seo网络推广
  • 南京培训网站建设网络整合营销4i原则是指
  • 企业建站公司排名为什么不好做百度文库官网
  • 武汉商城网站建设竞价账户托管哪家好
  • wordpress怎么关注站点今天的新闻 最新消息
  • 如何在本地搭建网站湖北seo推广
  • 建立网站流程图seo什么意思
  • 学习aspmvc网站开发 书重庆seo论坛
  • wordpress设置页面加载js百度网站排名seo
  • 做婚庆的网站有哪些内容网络推广员的日常工作
  • 网站开发 方案百度seo查询
  • msn网站制作网站链接分析工具
  • 大连哪里做网站友情链接英文翻译
  • 网站域名收费吗线上推广公司
  • wordpress慢 数据库搜索引擎营销简称seo
  • 谭八爷网站开发保健品的营销及推广方案
  • 工程师招聘网站乐陵市seo关键词优化
  • 英文网站建设网站行业关键词查询
  • 长沙哪些公司做网站关于新品牌的营销策划
  • 国外炫酷网站西安今日头条新闻
  • 如何检测网站死链seo网络推广优化教程