Jedis使用

丶灬走出姿态 提交于 2020-03-24 21:27:25

3 月,跳不动了?>>>

Java官方推荐使用Jedis作为Redis的连接开发工具

1、Jedis 使用

1.1、添加依赖

<dependencies> 
<!--redis-->
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
   </dependency>
   <dependency>
     <groupId>redis.clients</groupId>
     <artifactId>jedis</artifactId>
   </dependency>
</dependencies>

1.2、测试代码

package com.czxy;

import redis.clients.jedis.Jedis;

/**
 * @author 庭前云落
 * @Date 2020/3/24 11:32
 * @description
 */
public class TestJava {
    public static void main(String[] args) {
        //1 连接redis,new Jedis(ip地址,端口号)
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        //2 设置数据, set(键,值)
        jedis.set("WTINGSSS","闲看庭前云落");
        //3 获得数据,get(键)
        String wtingsss = jedis.get("WTINGSSS");
        System.out.println(wtingsss);
        //4 释放资源
        jedis.close();
    }
}

2、与 Spring boot 整合

  • 直接使用Jedis进行操作,功能单一且操作繁琐
  • 与 SpringBoot 进行整合,整合后 Spring Boot 提供 RedisTemplate工具
    • RedisTemplate 增强了 Jedis
    • 在 redis 使用字符串操作最多,专门为字符串处理模板:StringRedisTemplate

2.1、在 yml 文件下,添加 redis 基本配置

redis:
  database:   0
  host: 127.0.0.1
  port: 6379

完整yml

#端口号
server:
  port: 8081
spring:
  application:
    name: cgwebservice   #服务名
  main:
    allow-bean-definition-overriding: true
  datasource:           #数据源配置
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/changgou_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: 1234
    druid:              #druid连接池配置
      initial-size: 5
      min-idle: 5
      max-active: 20
      max-wait: 1000
      test-on-borrow: true
  redis:
    database:   0
    host: 127.0.0.1
    port: 6379

#配置eureka(注册中心)
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  instance:
    prefer-ip-address: true
    ip-address: 127.0.0.1
    instance-id: ${eureka.instance.ip-address}.${server.port}
    lease-renewal-interval-in-seconds: 3
    lease-expiration-duration-in-seconds: 10

2.2、Redis 配置类 ,用于配置SpringRedisTemplate 模板

package com.czxy.changgou3.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * @author 庭前云落
 * @Date 2020/3/24 11:32
 * @description
 */
@Configuration
public class RedisConfig {

 @Bean
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory connectionFactory){
        return new StringRedisTemplate(connectionFactory);
    }
}

2.3、启动类

  • 这步完成后,Spring容器中,将存在StringRedisTemplate实例
package com.czxy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author 庭前云落
 * @Date 2020/3/20 17:08
 * @description
 */
@SpringBootApplication
@EnableDiscoveryClient
public class CGWebServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(CGWebServiceApplication.class,args);
    }
}

2.4、测试,让 spring 将 StringRedis 注入给测试类

package com.czxy.controller;

import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.czxy.pojo.User;
import com.czxy.utils.SmsUtil;
import com.czxy.vo.BaseResult;
import org.apache.commons.lang.RandomStringUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
/**
 * @author 庭前云落
 * @Date 2020/3/22 9:03
 * @description
 */
@RestController
@RequestMapping("/sms")
public class SmsController {

    @Resource
    private StringRedisTemplate stringRedisTemplate;

    @Test
    public void testDemo(){
        System.out.println(stringRedisTemplate);
    }

}    
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!