게시글 테이블에 좋아요 수 컬럼 추가하고
게시글 테이블 좋아요 수 redis에 캐시하고
좋아요 추가/삭제 때 마다 redis에 좋아요 변동 수치 저장(캐싱한 게시글 테이블 좋아요 수랑 별개로 관리)
redis에 좋아요 변동 수치 처리할 때 동시성 고려해서 낙관적 락 걸고
게시글 좋아요 수 조회할 때 마다 redis에 캐싱한 값 + redis에 저장한 좋아요 변동 수치를 더해서 사용자에게 보여주고
스케쥴링으로 새벽에 게시글 테이블 좋아요 수 최신화하고 최신화한 값 redis에 캐시
이런 방식을 생각해봤는데 뭐 문제되거나 개선할 점 있을까
redis에서 숫자 증가시킬땐 atomic increment쓰면 돼서 락 걸 필요 없고 좋아요 숫자랑 별개로 1개 좋아요마다 row 생기는 테이블은 따로 관리해야하고 사용자 1명이 좋아요 1번 누를때마다 캐시 업데이트하면 성능 이슈 있으니까, 시간이나 갯수로 버퍼링좀 했다가 반영하고
락 걸 필요없구나..알려준대로 조금 더 공부하고 적용해보겠음 ㄳㄳ