请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Redis如果挂了就访问数据库正常运行怎么写代码

老师好,我照着项目加了redis,正常运行,想加个连接成功与否的判断,JedisPoolWriper好像是在xml里完成的初始化,这个时候我想判断JedisPoolWriper!=null仍然报错,我想直接用Jedis jedis = new Jedis(“192.168.1.29”); if(jedis.isConnected()) 这样判断,但是redis.properties就没用了,想问问老师怎么处理

正在回答 回答被采纳积分+3

1回答

翔仔 2019-01-26 00:11:59

同学好,没太明白具体要表达的意思,大概的需求就是redis连接不上就直接穿透过去到数据库里面去访问对不,这样的话在获取到pool的时候判断是否为空或者是否抛出异常,空或者异常就直接返回一个标识符,依据该标识符决定是否到DB去取

0 回复 有任何疑惑可以回复我~
  • 提问者 Caeser110 #1
    对,是我没表达清楚,就是不知道怎么写判断代码我是这样写的            
    try {                                                                                           
    	if (!jedisKeys.exists(key)) {                                                  
    	/*若不存在,则从数据库里面取出相应数据 */                             
    				                                                                         
    	} else {                                                                                      
    		/* 若存在,则直接从redis里面取出相应数据*/                      
    	}                                                                                              
    } catch (Exception e) {                                                                   
    	/*直接取数据库内容       */                                                        
    }                                                                                                    
    通过这个异常来判断是否连接成功,但是我觉得这写代码好像不是很好,或者说这样写代码本身就触发了一个异常,如果不这么写代码还能怎样判断
    回复 有任何疑惑可以回复我~ 2019-01-26 07:28:38
  • 翔仔 回复 提问者 Caeser110 #2
    同学好,因为本身这个redis连接池为空或者连接不上它确实就是一个异常,异常的话确实就需要被捕获,按理来说正常情况下就是能连接上Redis的,所以异常捕获和处理是合理的
    回复 有任何疑惑可以回复我~ 2019-01-27 01:53:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信