整合Spring Boot, MySQL和Redis主要涉及以下几个步骤:
- 在
pom.xml
中添加Spring Boot Starter Data Redis和MySQL的依赖。 - 配置
application.properties
或application.yml
文件,包括数据库连接信息和Redis连接信息。 - 创建实体类和Repository接口。
- 配置Redis缓存。
- 使用Redis和MySQL。
以下是一个简化的示例:
pom.xml
依赖配置:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
application.properties
配置:
spring.datasource.url=jdbc:mysql://localhost:3306/yourdb?useSSL=false
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.redis.host=localhost
spring.redis.port=6379
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
实体类和Repository:
@Entity
public class User {
@Id
private Long id;
private String name;
// getters and setters
}
public interface UserRepository extends JpaRepository<User, Long> {
User findByName(String name);
}
Redis配置:
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
final RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(lettuceConnectionFactory);
return template;
}
}
Service层使用Redis和MySQL:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private StringRedisTemplate redisTemplate;
@Cacheable(value = "users", key = "#name")
public User findByName(String name) {
// Try to get user from