Skip to content

Commit f7ee97c

Browse files
committed
add try catch in redis cache to improve code robust
1 parent e3b25d3 commit f7ee97c

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

src/main/java/com/wooyoo/learning/util/RedisCache.java

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,15 @@ public String getId() {
4141
@Override
4242
@SuppressWarnings("unchecked")
4343
public void putObject(Object key, Object value) {
44-
RedisTemplate redisTemplate = getRedisTemplate();
45-
ValueOperations opsForValue = redisTemplate.opsForValue();
46-
opsForValue.set(key, value, EXPIRE_TIME_IN_MINUTES, TimeUnit.MINUTES);
47-
logger.debug("Put query result to redis");
44+
try {
45+
RedisTemplate redisTemplate = getRedisTemplate();
46+
ValueOperations opsForValue = redisTemplate.opsForValue();
47+
opsForValue.set(key, value, EXPIRE_TIME_IN_MINUTES, TimeUnit.MINUTES);
48+
logger.debug("Put query result to redis");
49+
}
50+
catch (Throwable t) {
51+
logger.error("Redis put failed", t);
52+
}
4853
}
4954

5055
/**
@@ -55,10 +60,16 @@ public void putObject(Object key, Object value) {
5560
*/
5661
@Override
5762
public Object getObject(Object key) {
58-
RedisTemplate redisTemplate = getRedisTemplate();
59-
ValueOperations opsForValue = redisTemplate.opsForValue();
60-
logger.debug("Get cached query result from redis");
61-
return opsForValue.get(key);
63+
try {
64+
RedisTemplate redisTemplate = getRedisTemplate();
65+
ValueOperations opsForValue = redisTemplate.opsForValue();
66+
logger.debug("Get cached query result from redis");
67+
return opsForValue.get(key);
68+
}
69+
catch (Throwable t) {
70+
logger.error("Redis get failed, fail over to db", t);
71+
return null;
72+
}
6273
}
6374

6475
/**
@@ -70,9 +81,14 @@ public Object getObject(Object key) {
7081
@Override
7182
@SuppressWarnings("unchecked")
7283
public Object removeObject(Object key) {
73-
RedisTemplate redisTemplate = getRedisTemplate();
74-
redisTemplate.delete(key);
75-
logger.debug("Remove cached query result from redis");
84+
try {
85+
RedisTemplate redisTemplate = getRedisTemplate();
86+
redisTemplate.delete(key);
87+
logger.debug("Remove cached query result from redis");
88+
}
89+
catch (Throwable t) {
90+
logger.error("Redis remove failed", t);
91+
}
7692
return null;
7793
}
7894

0 commit comments

Comments
 (0)