Files
dognation_BT/src/main/resources/application.yml
T
sb 8d3be8493c
CI / build (push) Failing after 13m37s
feat: 스팟 체크인 실시간 저장소 Redis 도입 (24h TTL)
체크인 시 PostgreSQL(통계용 영구 기록)과 Redis(실시간 활성 체크인)에 함께 저장.
활성 메이트 조회를 Redis ZSet(member=dogId, score=체크인시각, 24h TTL)에서
최근 24시간·최신순으로 수행. Postgres 는 이벤트마다 누적(통계).

- CheckInRedisStore: ZSet + 24h 키 TTL, 조회 시 만료 정리
- application.yml: spring.data.redis (env 주입, 기본 localhost:6379)
- Redis 미기동 시에도 컨텍스트 로드(Lettuce 지연연결) → CI/테스트 안전

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 13:27:05 +09:00

53 lines
1.6 KiB
YAML

spring:
application:
name: dognation
datasource:
# DB 접속정보는 .env.dev / .env.prod 에서 주입 (POSTGRES_DB, SPRING_DATASOURCE_*)
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${POSTGRES_DB:dogdb_dev}
username: ${SPRING_DATASOURCE_USERNAME:dognation}
password: ${SPRING_DATASOURCE_PASSWORD:}
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: validate # 스키마는 Flyway가 관리, JPA는 검증만
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.PostgreSQLDialect
open-in-view: false
flyway:
enabled: true
baseline-on-migrate: true
locations: classpath:db/migration
# 실시간 스팟 체크인(24h TTL) 저장소. 값은 .env 에서 주입, 미설정 시 로컬 기본값.
data:
redis:
host: ${REDIS_HOST:localhost}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:}
# StringRedisTemplate 만 사용(RedisHash 리포지토리 없음) → JPA 리포지토리 오분류 스캔 비활성.
repositories:
enabled: false
# 스케줄러/시간 기준: 한국 시간(KST) 자정
app:
scheduler:
timezone: Asia/Seoul
matching:
daily-free-limit: 3
# 소셜 로그인 — 값은 .env 에서 주입. 미설정 시 해당 로그인 비활성.
auth:
google-client-id: ${GOOGLE_CLIENT_ID:} # 구글 OAuth 웹 클라이언트 ID (ID 토큰 aud 검증)
apple-client-id: ${APPLE_CLIENT_ID:} # Sign in with Apple aud(앱 번들 ID)
server:
port: 8080
logging:
level:
org.hibernate.SQL: debug