public void set(String key, Query query, QueryResult queryResult) { if (isActive()) { if (queryResult.getDbTime() >= storageConfiguration.getCache().getSlowThreshold() && queryResult.getResult().size() >= storageConfiguration.getCache().getMaxResultSize()) { RMap<Integer, Map<String, Object>> map = getRedissonClient().getMap(key); Map<String, Object> record = new HashMap<>(); record.put("query", query); record.put("result", queryResult); try { map.fastPut(0, record); } catch (RedisConnectionException e) { redisState = false; queryResult.setWarningMsg("Unable to connect to Redis Cache, Please query WITHOUT Cache (Falling back to Database)"); } } } }