Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nihadamirov/spring-data-redis-cache
This project is a Spring Boot application utilizing Redis for caching and data management. It features AOP-based logging, Swagger for API documentation, MapStruct for object mapping, Lombok for simplifying Java code, and Liquibase for database version control. Built with Gradle, the project also includes RedisInsight for cache data visualization.
https://github.com/nihadamirov/spring-data-redis-cache
aop-logs gradle liquibase map-struct oracle-database redis redis-cache redis-insight spring-boot
Last synced: about 1 month ago
JSON representation
This project is a Spring Boot application utilizing Redis for caching and data management. It features AOP-based logging, Swagger for API documentation, MapStruct for object mapping, Lombok for simplifying Java code, and Liquibase for database version control. Built with Gradle, the project also includes RedisInsight for cache data visualization.
- Host: GitHub
- URL: https://github.com/nihadamirov/spring-data-redis-cache
- Owner: nihadamirov
- Created: 2024-08-27T09:15:09.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-09-10T17:18:06.000Z (5 months ago)
- Last Synced: 2024-11-02T03:23:51.774Z (3 months ago)
- Topics: aop-logs, gradle, liquibase, map-struct, oracle-database, redis, redis-cache, redis-insight, spring-boot
- Language: Java
- Homepage:
- Size: 72.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Data Redis Cache
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.
## Features
- **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.## Technologies
- Java 17
- Spring Boot 3.3.3
- Spring Data JPA
- Spring Data Redis
- Liquibase
- MapStruct
- Lombok
- Redis
- Swagger (optional)
- Spring Boot DevTools## Setup
1. **Clone the repository:**
```bash
cd spring-data-redis-cache
```2. **Build the project:**
```bash
./gradlew build
```3. **Run the application:**
```bash
./gradlew bootRun
```4. **Start Docker containers:**
```bash
docker-compose up
```## RedisInsight
To view and manage Redis cache data, use RedisInsight. Ensure RedisInsight is running and connected to your Redis instance.
## Logging
The application uses AOP for logging, capturing method execution details at info and error levels.
## Development Tools
- **Spring Boot DevTools**: Provides automatic restarts and live reload capabilities.
## Docker Setup
- **Redis**: Containerized Redis instance for caching.
- **RedisInsight**: Containerized RedisInsight for managing and visualizing Redis data.To start Docker containers:
```bash
docker-compose up
```