写点什么

Spring Boot 集成 Redis

用户头像
噜噜猫
关注
发布于: 2020 年 12 月 16 日

Redis 优势



  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。



Mac 下安装 redis



先安装wget



brew install wget



安装 redis



# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make
# make install



启动



redis-server



测试



#启动客户端
redis-cli
#设置key
set mykey abc
#获取key
get mykey



Spring Boot 集成Redis



Resdis依赖引入pom.xml



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



Redis 操作类 RedisHelper



@Component 注入组件



类型 String,List,Hash,Set,ZSet 对应的方法分别是



| String | opsForValue |

| ------ | ----------- |

| List | opsForList |

| Hash | opsForHash |

| Set | opsForSet |

| ZSet | opsForZSet |



新增 RedisHelper String 方法:



@Autowired
private StringRedisTemplate redisTemple;
/**
* 功能描述:设置key-value到redis中
*/
public boolean set(String key ,String value){
try{
redisTemple.opsForValue().set(key, value);
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}
/**
* 功能描述:通过key获取缓存里面的值
*/
public String get(String key){
return redisTemple.opsForValue().get(key);
}



Redis 配置



#=========基础配置=========
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6390
# 连接超时时间 (毫秒)
spring.redis.timeout=3000
#=========线程池设置=========
# 等待可用连接的最大时间 (毫秒)默认值为-1,表示永不超时
spring.redis.pool.max-wait=1000
# 连接池最大连接,默认值也是8。
spring.redis.pool.max-idle=200
# 最小空闲连接,默认值也是0。
spring.redis.pool.min-idle=200
# 如果赋值为-1,则表示不限制;pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
spring.redis.pool.max-active=2000



控制器测试使用



@RestController
@RequestMapping("/api2/redis")
public class RdisTestController {

@Autowired
private RedisClient redis;
@GetMapping(value="insert")
public Object insert(){
redis.set("key1", "123");
return "Success";
}
}



获取源码:https://github.com/alindada/springboot



用户头像

噜噜猫

关注

还未添加个人签名 2020.12.13 加入

还未添加个人简介

评论

发布
暂无评论
Spring Boot 集成 Redis