redis操作

启动Redis服务

  • Redis安装目录下,启动PowerShell,**redis-server redis.windows.conf**,手动启动Redis服务
  • **redis-cli**命令连接到Redis服务
  • **ping**命令可以检测服务器是否正常(服务器返回PONG)

    SpringBoot集成redis

    配置

    pom依赖

    1. <!--redis集成-->
    2. <dependency>
    3. <groupId>org.springframework.boot</groupId>
    4. <artifactId>spring-boot-starter-data-redis</artifactId>
    5. </dependency>

    properties配置文件

    1. ##Redis配置
    2. #Redis数据库索引
    3. spring.redis.database=0
    4. #Redis服务器地址
    5. spring.redis.host=192.168.2.157
    6. #Redis服务器端口
    7. spring.redis.port=7001
    8. #Redis连接超时时间
    9. spring.redis.timeout=5000

    工具类

    ```java /**

    • redis工具类 */ @Component public class RedisUtils {

      private static final Logger log = LogManager.getLogger(RedisUtils.class);

      @Resource private StringRedisTemplate stringRedisTemplate;

      /**

      • 根据key获取值 */ public String getResultByKey(String key){ String result = “”; try {
         if (log.isDebugEnabled()){
             if (log.isDebugEnabled()){
                 log.debug("getResultByKey with key:{}",key);
             }
         }
         if (this.isExist(key)){
             result = stringRedisTemplate.opsForValue().get(key);
         }
         if (result==null){
             result="";
         }
        
        }catch (Exception e){
         if (log.isErrorEnabled()){
             log.error(e.getMessage());
         }
        
        } return result; }
/**
 * 设置key,value
 */
public void setResult(String key,String value){
    try {
        //日志级别的开关判断
        if (log.isDebugEnabled()){
            if (log.isDebugEnabled()){
                log.debug("setResult with key:{} value:{}",key,value);
            }
        }
        if (stringRedisTemplate!=null){
            stringRedisTemplate.opsForValue().set(key, value);
        }
    } catch (Exception e) {
        if (log.isErrorEnabled()){
            if (log.isErrorEnabled()){
                log.error("setResult with key:{}, error:{}",key,e);
            }
        }
    }
}


/**
 * 删除key
 */
public void deleteByKey(String key){
    try{
        //判断key是否存在
        if (this.isExist(key)){
            Boolean delete = stringRedisTemplate.delete(key);
            if (log.isDebugEnabled()){
                log.debug("delete key :{} and result is {}",key,delete);
            }
        }
    }catch (Exception e){
        if (log.isErrorEnabled()){
            log.error("delete key :{} error : {}",key,e);
        }
    }
}
/**
 * 判断key是否存在
 */
public boolean isExist(final String key){
    boolean flag = false;
    try {
        //避免 stringRedisTemplate.hasKey(key) 空指针异常
        if (key!=null&&stringRedisTemplate!=null){
            flag = Boolean.TRUE.equals(stringRedisTemplate.hasKey(key));

        }
    }catch (Exception e){
        if (log.isErrorEnabled()){
            log.error("isExist with key:{},error:{}",key,e);
        }
    }
    return flag;
}

}

```