SpringBoot整合Redis

 

依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

 

 

 

配置文件

#使用springboot,未指定应用使用的端口号时,web应用默认为8080
#server.port=8080

spring.redis.host
=192.168.1.9 spring.redis.port=6379 #redis默认有16个数据库,指定要使用的数据库,0-15,第一个是0 spring.redis.database=0 #连接到redis服务器的超时时间,ms spring.redis.timeout=3000
#默认8。jedis连接池中最多可以有max
-active个连接。-1表示不限制 spring.redis.jedis.pool.max-active=200 #默认8 spring.redis.jedis.pool.max-idle=100 #默认0 spring.redis.jedis.pool.min-idle=50 #如果jedis连接池暂时没有闲置连接可用,可以等待多长时间获取连接,ms。-1表示一直等待 spring.redis.jedis.pool.max-wait=1000
#如果使用的是redis集群,将上面的host、port注释掉,配置redis集群各节点的信息。需要redis所在机器的防火墙开放对应端口。 #spring.redis.cluster.nodes
=192.168.1.9:6381,192.168.1.9:6382,192.168.1.9:6383,192.168.1.9:6384,192.168.1.9:6385,192.168.1.9:6386

 

 

 

Redis工具类

直接使用提供的类、方法操作Redis有点麻烦,一句代码要写很长,往往要自己封装一下

@Component
public class RedisUtil {
    @Autowired
    private static StringRedisTemplate redisTemplate;

    // 官方不推荐在成员变量上用@Autowired,如果换为@Resource启动项目时会报错
    // 如果要用@Resource,要写成下面这样
    // @Resource
    // private RedisTemplate<String,String> redisTemplate;

    public static void set(String key,String value){
        redisTemplate.opsForValue().set(key,value);
        System.out.println("ok");

    }

    public static String get(String key){
        return redisTemplate.opsForValue().get(key);
    }

    public static void hset(String key,String field,Object value){
        redisTemplate.opsForHash().put(key,field,value);
    }

    public static Object hget(String key,String field){
        return redisTemplate.opsForHash().get(key,field);
    }

    //......

}

要用时直接调用即可

 

posted @ 2020-04-07 23:23  chy_18883701161  阅读(1306)  评论(0编辑  收藏  举报