Redis 优势
- 性能极高 速度是110000次/s
- 支持 Strings, Lists, Hashes, Sets ,Ordered Sets 数据类型操作。
- 原子性的操作,单个操作是原子性的。
- 支持 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";
}
}