一、前因
公司有个核心项目redis的客户端一直是使用的jedis,后面技术负责人要求把jedis客户端替换成效能更高的lettuce客户端,同时使用spring框架自带的RedisTemplate类来操作redis。
然而世事难料,就是这么一个简单的需求却让老师傅翻了船。。。
二、事故预演
按照预设的结果,本次开发任务应该是非常轻松的:
- 将配置文件中jedis连接池的配置项平移替换成lettuce的;
- 把项目中jedis配置相关的代码删掉;
- 把使用到jedis的地方替换成redisTemplate。
伪代码
其他配置项不一一展示
spring.redis.jedis.pool.max-idle = 200
spring.redis.jedis.pool.min-idle = 10
spring.redis.jedis.pool.max-active = 200
spring.redis.jedis.pool.max-wait = 2000
替换成
spring.redis.lettuce.pool.max-idle = 200
spring.redis.lettuce.pool.min-idle = 10
spring.redis.lettuce.pool.max-wait = 2000
spring.redis.lettuce.pool.max-active = 200
业务代码也从jedis换成redisTemplate
jedis的伪代码:
/**
* 设置商品库存到redis - jedis
* @param goodId 商品id
* @param count 库存量
* @return
*