1. Redis 基础核心知识
1.1 Redis是什么
Redis 是一个基于内存的 Key-Value NoSQL 数据库,单线程执行,支持多种数据结构。速度快(十几万 QPS),适合作为缓存,多种数据结构适用于不同场景。
1.2 Redis 常用数据类型及场景
1.3 Redis 常用数据类型及场景
RDB:定期快照(性能好)
AOF:追加日志(安全性高)
混合持久化:推荐
2. Java操作Redis(Spring Data Redis)
2.1 Maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>2.2 application.yml 配置
spring:
redis:
host: 127.0.0.1
port: 6379
lettuce:
pool:
max-active: 10
max-idle: 8
min-idle: 22.3 Java 操作模板(通用)
@Service
public class RedisService {
@Autowired
private StringRedisTemplate redis;
public void set(String key, String value, long expireSeconds) {
redis.opsForValue().set(key, value, Duration.ofSeconds(expireSeconds));
}
public String get(String key) {
return redis.opsForValue().get(key);
}
public void hset(String key, String field, String value) {
redis.opsForHash().put(key, field, value);
}
public Map<Object,Object> hgetall(String key) {
return redis.opsForHash().entries(key);
}
public void push(String queue, String value) {
redis.opsForList().leftPush(queue, value);
}
public String pop(String queue) {
return redis.opsForList().rightPop(queue);
}
public Boolean lock(String key, String value, long expireSeconds) {
return redis.opsForValue().setIfAbsent(key, value, Duration.ofSeconds(expireSeconds));
}
}