JavaAPI操作redis

1:Jedis

(1):maven配置

  <!--jedis-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.7.0</version>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>

(2):操作。(手动去配置信息:地址,端口,库级)

public class JedisTest {

       private Jedis jedis;
       @BeforeEach
       void setUp() {
              // 1.建立连接
               jedis = new Jedis("127.0.0.1", 6379);
              // jedis = JedisConnectionFactory.getJedis();
              // 2.设置密码
              // 3.选择库
              jedis.select(0);
       }

       @Test
       void testString() {
              // 存入数据
              String result = jedis.set("jedisTest", "虎哥第二次测试");
              System.out.println("result = " + result);
              // 获取数据
              String name = jedis.get("jedisTest");
              System.out.println("jedisTest = " + name);
       }

       @Test
       void testHash() {
              // 插入hash数据
              jedis.hset("user:1", "name", "Jack");
              jedis.hset("user:1", "age", "21");

              // 获取
              Map<String, String> map = jedis.hgetAll("user:1");
              System.out.println(map);
       }

       //关闭
       @AfterEach
       void tearDown() {
              if (jedis != null) {
                     jedis.close();
              }
       }
}

(3):JedisPool 来进行操作。

public class JedisConnectionFactory {

    private static JedisPool jedisPool;

    static {
        // 配置连接池
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        //设置最大连接数
        poolConfig.setMaxTotal(8);
        //设置最大空闲连接数
        poolConfig.setMaxIdle(8);
        //设置最小空闲连接数
        poolConfig.setMinIdle(0);
        //设置等待时间。
        poolConfig.setMaxWaitMillis(1000);
        // 创建连接池对象,参数:连接池配置、服务端ip、服务端端口、超时时间、密码
        jedisPool = new JedisPool(poolConfig,
                "127.0.0.1", 6379, 1000);
    }

    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}

测试:

public class JedisTest {

       private Jedis jedis;
       @BeforeEach
       void setUp() {
              // 1.建立连接
               //jedis = new Jedis("127.0.0.1", 6379);
               jedis = JedisConnectionFactory.getJedis();
              // 2.设置密码
              // 3.选择库
              jedis.select(0);
       }

       @Test
       void testString() {
              // 存入数据
              String result = jedis.set("jedisTest", "虎哥第二次测试");
              System.out.println("result = " + result);
              // 获取数据
              String name = jedis.get("jedisTest");
              System.out.println("jedisTest = " + name);
       }

       @Test
       void testHash() {
              // 插入hash数据
              jedis.hset("user:1", "name", "Jack");
              jedis.hset("user:1", "age", "21");

              // 获取
              Map<String, String> map = jedis.hgetAll("user:1");
              System.out.println(map);
       }

       //关闭
       @AfterEach
       void tearDown() {
              if (jedis != null) {
                     jedis.close();
              }
       }
}

2:RedisTemplate

(1):maven配置。

 <!--redis依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--common-pool-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
        <!--Jackson依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

(2):配置

@Configuration
public class RedisConfig {
       @Bean
       public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
              RedisTemplate<String, Object> template = new RedisTemplate<>();
              //序列化key,value
              template.setKeySerializer(new StringRedisSerializer());
              template.setValueSerializer(new GenericJackson2JsonRedisSerializer());

              //hash类型
              template.setHashKeySerializer(new StringRedisSerializer());
              template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());

              //注入连接工厂
              template.setConnectionFactory(redisConnectionFactory);
              return template;
       }
}

(3):测试。

@SpringBootTest
class RedisTemplateApplicationTests {

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    void contextLoads() {
        Object name = redisTemplate.opsForValue().get("name");
        System.out.println("-----------");
        System.out.println(name);
    }

    //引入对象。
    @Test
    void test(){
        User user = new User("xiaoze", 21);
        redisTemplate.opsForValue().set("user:1",user);
    }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小泽不会Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值