package com.datasync.core.utils; import com.framework.config.ConfigManager; import com.framework.datasource.DataSourceConfig; import com.framework.datasource.impl.RedisOperation; import com.framework.log.util.TdLog; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.Map; /** * 类描述:Redis工具类 */ @Component public class RedisUtils { /** * 方法描述:获取redis连接 * @param * @return com.framework.datasource.impl.RedisOperation */ public static RedisOperation getRedisConnect(){ DataSourceConfig dataSourceConfig = (DataSourceConfig) ConfigManager.getPropertyByBean(DataSourceConfig.class ,"configRedisDb.properties"); RedisOperation connect = new RedisOperation(dataSourceConfig); System.out.println("REDIS Connect :------------------------------------------"+connect); return connect; } /** * * 方法描述:关闭连接 * * @param */ public void close(RedisOperation connect){ try { if(connect != null){ connect.close(); } }catch(Exception e){ TdLog.error("REDIS_CLOSE_ERROR",e); } } /** * 方法描述:更新reids缓存 * @param key * @param value */ public static void update(String key, Map<String,String> value){ RedisOperation connect = RedisUtils.getRedisConnect(); for(String key1:value.keySet()){ connect.hashCmd().hdel(key,key1); } connect.hashCmd().hmset(key,value); } /** * 方法描述:获取reids缓存 * @param key */ public static Map<String,String> getValue(String key){ return RedisUtils.getRedisConnect().hashCmd().hgetall(key); } /** * 方法描述:获取reids缓存 * @param key * @return Map 缓存数据 */ public static String getRedisValue(String key){ return RedisUtils.getRedisConnect().stringCmd().get(key); } /** * 方法描述:获取reids缓存 * @param key * @return Map 缓存数据 */ public static void setValue(String key, Map<String,String> value){ RedisUtils.getRedisConnect().hashCmd().hmset(key, value); } /** * 方法描述:添加reids缓存 * @param key * @param value */ public static void hashPut(String key,String field,String value){ RedisUtils.getRedisConnect().hashCmd().hset(key,field, value); } /** * 方法描述: 给指定key设置value * @param key * @param value */ public static void stringPut(String key, String value) { if (RedisUtils.getRedisConnect() == null || RedisUtils.getRedisConnect().stringCmd() == null) { TdLog.error("GET_REDIS_OPERATION_ERROR"); return; } RedisUtils.getRedisConnect().stringCmd().set(key, value); } /** * 方法描述:更新reids缓存 * @param key * @param value */ public static void update(String key, String value){ RedisOperation connect = RedisUtils.getRedisConnect(); connect.stringCmd().set(key,value); } /** * 获取缓存值 * * @param key * @return */ public static String getString(String key) { try { String content = RedisUtils.getRedisConnect().stringCmd().get(key); if (StringUtils.isBlank(content)) { return null; } return content; } catch (Exception e) { TdLog.error(e.getMessage()); } return null; } }
-------------------------------------------------------------------------------------------------------------
对应配置文件
configRedisDb.properties
ip=000.000.000.000 port=6380 password=redis密码 databaseName=2 maxWait=1
------------------------------------------------------------------------------------------------------------------
调用:
if(flag){ String redisValue = RedisUtils.getRedisValue(CommonConstants.KEY_SUBORDINATE_PLACE_NAME); if(StringUtils.isBlank(redisValue)){ RedisUtils.stringPut(CommonConstants.KEY_SUBORDINATE_PLACE_NAME,"-1"); }else{ RedisUtils.stringPut(CommonConstants.KEY_SUBORDINATE_PLACE_NAME,"0"); } }