springboot使用redis

1、pom文件中引入 spring-boot-starter-redis

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

2、添加application.properties配置文件

# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0  
# Redis服务器地址
spring.redis.host=192.168.0.58
# Redis服务器连接端口
spring.redis.port=6379  
# Redis服务器连接密码(默认为空)
spring.redis.password=  
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8  
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1  
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8  
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0  
# 连接超时时间(毫秒)
spring.redis.timeout=1000

 

这里的连接超时时间为0的话,运行程序会报连接超时异常

3.使用redisTemplate来操作redis中的数据

@Test
    public void testObj() throws Exception {
        User user=new User(111,"user01","user01");
        ValueOperations<String, User> operations=redisTemplate.opsForValue();
        operations.set("user", user);
        operations.set("user2", user);
        boolean exists=redisTemplate.hasKey("user");
        if(exists){
            System.out.println("exists is true");
        }else{
            System.out.println("exists is false");
        }
        operations.set("2",new User(111,"aa","zz"));
        System.out.println(operations.get("2"));
        User user1 = operations.get("user");
        User user2 = operations.get("user2");
        System.out.println(user1 + "," + user2.toString());
        // Assert.assertEquals("aa", operations.get("com.neo.f").getUserName());
    }

设置过期时间

redistempalate的超时设置时,一定要每次用set写入时,更新超时,不然默认会失效的。
例如:
//获取过期时间
int tempTime = this.redisTemplate.getExpire("max").intValue();
//获取value
tempCount = this.redisTemplate.opsForValue().get("max");
//设置key-value
this.redisTemplate.opsForValue().set("max", tempCount);
//设置过期时间
this.redisTemplate.expire("max",tempTime,TimeUnit.SECONDS);

通过Jedis操作redis

这里在pom文件中引入依赖

<!--Jedis的jar-->
<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.9.0</version>
</dependency>

  

示例

//连接本地的 Redis 服务
        Jedis jedis = new Jedis("ip地址",端口);
        jedis.auth("mypassowrd");
        System.out.println("连接成功");

        //清空redis
        String s = jedis.flushAll();
        System.out.println(s);

        // 获取所有key并输出
        Set<String> keys = jedis.keys("*");
        Iterator<String> it=keys.iterator() ;
        while(it.hasNext()){
            String key = it.next();
            System.out.println(key);
        }

  

posted @ 2018-11-23 11:06  少说点话  阅读(732)  评论(0编辑  收藏  举报
网站运行: