feat: add movie management API and database schema

- Implemented movie CRUD operations with endpoints for creating, retrieving, updating, and deleting movies.
- Added pagination and filtering capabilities for movie retrieval.
- Integrated Redis caching for improved performance on movie data retrieval.
- Created database schema for movies with necessary fields and types.
- Added migration files for initial movie table creation and subsequent updates.
- Configured database connection using Drizzle ORM with MySQL.
- Established Redis connection utility for caching.
This commit is contained in:
ngthanhvu
2026-07-22 00:31:10 -04:00
parent f09e3275eb
commit ad8d577493
30 changed files with 3244 additions and 349 deletions
+19
View File
@@ -0,0 +1,19 @@
import Redis from 'ioredis'
let _redis: Redis | undefined
export function useRedis() {
if (_redis) return _redis
const url = process.env.REDIS_URL || 'redis://localhost:6379'
_redis = new Redis(url, {
maxRetriesPerRequest: 3,
lazyConnect: true,
})
_redis.on('error', (err) => {
console.error('[Redis] Connection error:', err.message)
})
return _redis
}