Springboot整合redis
1 .简单整合
1.1 导包
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
1.2 全局配置文件
spring.redis.host=你的ip地址
spring.redis.port=6379
spring.redis.jedis.pool.max-active=10
spring.redis.jedis.pool.max-idle=10
spring.redis.jedis.pool.min-idle=0
spring.redis.lettuce.pool.max-wait=-1ms
1.3 配置类
@SpringBootConfiguration
@ComponentScan(basePackages = {"com.wcc.redis"})
public class AppConfig {
}
1.4 第三方实体类(manager)
@Component
public class RedisManager {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public void addKeyAndValue(String key,String value){
stringRedisTemplate.opsForValue().set(key,value);
}
public String getValue(String key){
String value = stringRedisTemplate.opsForValue().get(key);
return value;
}
}
1.5 Service层
public interface RedisService {
void addKeyAndValue(String key,String value);
String getValue(String key);
}
@Service
public class RedisServiceImpl implements RedisService {
@Autowired
private RedisManager redisManager;
@Override
public void addKeyAndValue ( String key, String value ) {
redisManager.addKeyAndValue(key,value);
}
@Override
public String getValue ( String key ) {
String value = redisManager.getValue(key);
System.out.println("servicede"+value);
return value;
}
}
1.6 controller
@RestController
public class RedisController {
@Autowired
private RedisService redisService;
@RequestMapping(value = "toAdd")
public String toSuccess(){
redisService.addKeyAndValue("nihao","woshizhongguoren");
return "huoqu";
}
@RequestMapping("getValue")
public String getValue(String key){
String value = redisService.getValue(key);
System.out.println("nimenhao");
System.out.println(value);
return value;
}
}
常用的API
stringRedisTemplate.opsForValue(); 这个就是用来操作 String类型的
stringRedisTemplate.opsForList(); 这个主要就用来操作list的
stringRedisTemplate.opsForZSet(); 这个主要用来操作sorted set
stringRedisTemplate.opsForHash(); 用来操作hash结构的
stringRedisTemplate.opsForSet(); 这个就是用来操作Set数据类型的
stringRedisTemplate.expire("NZ1904",60, TimeUnit.SECONDS);
stringRedisTemplate.getExpire()
stringRedisTemplate.hasKey("");
stringRedisTemplate.delete("key");
stringRedisTemplate.opsForValue().increment("key",1);
stringRedisTemplate.opsForValue().increment("key",-1);
tringRedisTemplate.opsForHash().entries("");
tringRedisTemplate.opsForHash().putAll("",null);
tringRedisTemplate.opsForHash().put();
tringRedisTemplate.opsForHash().delete()
stringRedisTemplate.opsForHash().hasKey()
stringRedisTemplate.opsForSet().members()
tringRedisTemplate.opsForSet().isMember()
stringRedisTemplate.opsForSet().add()