项目中用到redis,之后的高并发环境下测试,发现经常出现链接获取不到的问题。
最后修改的代码如下:
Jedis jedis = jedisPool.getResource();
boolean success = true;
try {
if(jedis == null){
Product product = productDao.findProductById(id);
return product;
}
String json = jedis.hget(JedisKeyConstants.PRODUCT_CONFIG__CACHE_KEY, id);
if (StringUtils.isNotBlank(json)) {
return JSON.parseObject(json, Product.class);
}else{
Product product = productDao.findProductById(id);
if (product != null) {
Transaction t = jedis.multi();
//t.hdel(key, field)
//t.del(JedisKeyConstants.PRODUCT_CONFIG__CACHE_KEY);
t.hset(JedisKeyConstants.PRODUCT_CONFIG__CACHE_KEY, product.getId(), JSON.toJSONString(product));
t.exec();
jedis.bgsave();
return product;
}
}
} catch (Exception e) {
success = false;
if(jedis != null){
jedisPool.returnBrokenResource(jedis);
}
} finally{
if(success && jedis != null){
jedisPool.returnResource(jedis);
}
}
分享到:
相关推荐
高并发复用数据库链接技术详解之数据库连接池 类加载器的高级特性(自定义类加器实现加密解密) iBATIS开源主流框架(实现半自动化hibernate) 企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化...
许多需求计算量都在扩大, 针对大容量、高并发的接口、mq或者其他计算方法,同一时间在运行的计算维度进行限制,相当于把资源到计算的对象维度。 不同于参数限制,工具针对的是服务所有线程对于该计算维度的限流。...
SSM(spring+spring_mybatis)实现高并发秒杀系统,包含详细笔记 1、整体业务分析 1)展示商品所有列表; 2)点击链接进入商品详情页; 2、DAO层设计与开发 2.1 Mysql&&NoSQL 关系型数据库(Mysql/Oracle/SqlServer...
(开发中...)开源协议taoshop使用Apache2.0开源协议功能[门户网站] 商品搜索(Lucene) 最新上架 购物车功能 品目商品搜索 优惠券秒杀(高并发处理) 商品详情 商品品类多级联动[运营平台] 会员中心 订单系统 店铺管理 ...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...
数据缓存、动静分离、集群(或分布式)部署支撑高并发,数据库集群、存储集群、宕机检测支撑高可用。 飞蛙B2B2C商城电商系统重要说明 1、必须先安装ioncube loader扩展,官方论坛有教程。 2、安装时数据库前缀请勿...
05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 ...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...