`
恶魔眼睛
  • 浏览: 10157 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

高并发情况下的redis链接处理

阅读更多
项目中用到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);					
				}

			}

分享到:
评论

相关推荐

    JAVA高并发高性能高可用高扩展架构视频教程

    高并发复用数据库链接技术详解之数据库连接池 类加载器的高级特性(自定义类加器实现加密解密) iBATIS开源主流框架(实现半自动化hibernate) 企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化...

    基于加权计数器限流算法的java计算限流工具

    许多需求计算量都在扩大, 针对大容量、高并发的接口、mq或者其他计算方法,同一时间在运行的计算维度进行限制,相当于把资源到计算的对象维度。 不同于参数限制,工具针对的是服务所有线程对于该计算维度的限流。...

    seckill:SSM(spring+spring_mybatis)实现高并发秒杀系统,包含详细笔记

    SSM(spring+spring_mybatis)实现高并发秒杀系统,包含详细笔记 1、整体业务分析 1)展示商品所有列表; 2)点击链接进入商品详情页; 2、DAO层设计与开发 2.1 Mysql&&NoSQL ​ 关系型数据库(Mysql/Oracle/SqlServer...

    taoshop:开源电子商务项目,SpringBoot+Dubbo技术栈实现微服务,实现一款分布式集群的电商系统. 项目releases链接:https

    (开发中...)开源协议taoshop使用Apache2.0开源协议功能[门户网站] 商品搜索(Lucene) 最新上架 购物车功能 品目商品搜索 优惠券秒杀(高并发处理) 商品详情 商品品类多级联动[运营平台] 会员中心 订单系统 店铺管理 ...

    Java资源包01

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包1

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包11

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包2

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包3

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包6

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包5

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包10

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包4

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包8

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包7

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包9

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包101

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    飞蛙B2B2C商城电商系统 v2.1.8.zip

    数据缓存、动静分离、集群(或分布式)部署支撑高并发,数据库集群、存储集群、宕机检测支撑高可用。 飞蛙B2B2C商城电商系统重要说明 1、必须先安装ioncube loader扩展,官方论坛有教程。 2、安装时数据库前缀请勿...

    python入门到高级全栈工程师培训 第3期 附课件代码

    05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 ...

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

Global site tag (gtag.js) - Google Analytics