Java使用Jedis整合Redis和使用RedisTemplate整合Redis

使用Jedis整合:

一、引入maven依赖


   redis.clients
   jedis
   3.6.0


   junit
   junit
   4.12
   test

二、创建test类,连接Redis,String类型测试,其它类型的操作自行编写

package org.example.Test;

import org.junit.After;
import org.junit.Before;
import redis.clients.jedis.Jedis;

public class RedisTest {
    Jedis jedis;

    @Before
    public void init() {
        //第一个参数是ip地址,第二个参数是端口
        Jedis jedis = new Jedis("192.168.6.90", 6379);
    }

    public void stringTest() {
        //设置一个key
        jedis.set("k1", "v1");
        //设置一个key
        jedis.set("k2", "1");
        //获取一个key
        String res = jedis.get("k1");
        //对某一个key自增
        Long ires = jedis.incr("k2");
    }
@After
    public void close(){
        //关闭jedis连接
        jedis.close();
    }
}

使用RedisTemplate整合:

一、添加maven依赖

 
     
       org.springframework.boot
       spring-boot-starter-data-redis-reactive
     
     
       org.springframework.boot
       spring-boot-starter-web
     
     
       org.projectlombok
       lombok
       true
     
     
       org.springframework.boot
       spring-boot-starter-test
       test
     
     
       io.projectreactor
       reactor-test
       test
     
   

二、配置application.yml文件

#Redis服务器连接地址
spring:
  redis:
    host: 192.168.6.90
  #Redis服务器连接端口
    port: 6379
  #连接池最大连接数(使用负值表示没有限制)
    pool:
     max-active: 8
  #连接池最大阻塞等待时间(使用负值表示没有限制)
     max-wait: -1
  #连接池中的最大空闲连接
     max-idle: 8
  #连接池中的最小空闲连接
     min-idle: 0
  #连接超时时间(毫秒)
  timeout: 30000

三、自定义序列化

/**
 * 自定义序列化方式
 */
@Configuration
public class RedisConfig {
   @Bean
   public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
     RedisTemplate redisTemplate = new RedisTemplate<>();
     redisTemplate.setKeySerializer(new StringRedisSerializer());
     redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
     redisTemplate.setHashKeySerializer(new StringRedisSerializer());
     redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
     redisTemplate.setConnectionFactory(redisConnectionFactory);
     return redisTemplate;
   }
}

四、使用使用redisTemplate进行各类型的CURD操作

public boolean set(String key,Object value){
   try{
   redisTemplate.opsForValue().set(key,value);
       return true;
     }catch (Exception e){
       log.error("redis set value exception:{}",e);
       return false;
     }
   }

 public Object get(String key){
     return  key == null ? null : redisTemplate.opsForValue().get(key);
   }



public boolean setex(String key,Object value,long expire){
    try{
      //TimeUnit.SECONDS指定类型为秒
      redisTemplate.opsForValue().set(key,value,expire,       TimeUnit.SECONDS);
      return true;
     }catch (Exception e){
      log.error("redis set value and expire exception:{}",e);
      return false;
     }
   }

你可能感兴趣的:(redis,java,redis,bootstrap)