This project is a Spring Boot application demonstrating the integration of Redis caching with Spring Data JPA. It provides functionality for managing customer and account data, leveraging Redis for efficient caching and using Liquibase for database schema management.
- Redis Caching: Utilizes Redis for faster data retrieval.
- Liquibase: Automated database schema management and migrations.
- MapStruct: Simplifies mapping between DTOs and entities.
- Lombok: Reduces boilerplate code with annotations.
- Swagger: Provides API documentation (if required in the future).
- Logging: Aspect-Oriented Programming (AOP) for info and error level logging.
- Spring Boot DevTools: Enhances development experience.
- Java 17
- Spring Boot 3.3.3
- Spring Data JPA
- Spring Data Redis
- Liquibase
- MapStruct
- Lombok
- Redis
- Swagger (optional)
- Spring Boot DevTools
-
Clone the repository:
cd spring-data-redis-cache
-
Build the project:
./gradlew build
-
Run the application:
./gradlew bootRun
-
Start Docker containers:
docker-compose up
To view and manage Redis cache data, use RedisInsight. Ensure RedisInsight is running and connected to your Redis instance.
The application uses AOP for logging, capturing method execution details at info and error levels.
- Spring Boot DevTools: Provides automatic restarts and live reload capabilities.
- Redis: Containerized Redis instance for caching.
- RedisInsight: Containerized RedisInsight for managing and visualizing Redis data.
To start Docker containers:
docker-compose up