Redis

    동시성문제 -> Redis Redisson

    재시도가 필요하지 않은 Lock은 Lettuce를 활용할 것이고 재시도가 필요한 경우에는 Redisson을 사용할 것 입니다. setnx 메소드는 만약 키가 존재하지 않는다면 설정하게 되는 것이므로 Redis 에 계속해서 LockKeyName 이 존재하는지 확인해야만 합니다. 따라서 순회하는 동안 계속해서 Redis 에 요청을 보내게 되는 것이므로 스레드 혹은 프로세스가 많다면 Redis 에 부하가 가게 될 것이기 때문에 재시도가 필요한 경우에는 Redisson 방식을 사용할 것입니다 Redisson - Pub-Sub 기반으로 Lock 구현 제공 - Pub-Sub 방식이란, 채널을 하나 만들고, 락을 점유중인 스레드가, 락을 해제했음을, 대기중인 스레드 에게 알려주면 대기중인 스레드가 락 점유를 시도하는..

    CrudRepository 와 JPARepository의 차이

    CrudRepository CRUD 기능을 제공하는 인터페이스. org.springframework.data.repository 인터페이스 Repository를 확장함. 사용 더보기 @Repository public interface PersonRepository extends CrudRepository { // ... } CrudRepository의 메서드 long count() 가용 entity의 수를 반환함 리포지토리의 데이터 개수 확인 Delete void delete(T entity) 주어진 entity를 삭제함 entity가 null이면 IllegalArgumentException을 던짐 void deleteById(ID id) 주어진 id를 가진 엔티티를 삭제함 id가 null이면 Illeg..

    Redis 용어정리

    Redis 명령어 정리 string : get hash : hgetall lists : lrange sets : smembers sorted sets : ZRANGEBYSCORE 데이터 타입에 따른 더 다양한 명령어는 Redis 공식문서 참고 key : key1, value : value1 key : key2, value : value2 키값 입력하기 set key1 value1 set key2 value2 전체 키 확인 keys * 전체 키 삭제 flushall 전체 키 확인 keys * 💻 Programming redis-cli 를 이용한 elasticache 데이터 조회 아직 redis-cli 설치가 안되어있다면 redis-cli 설치를 참고해주세요 https://minwoo-it-factory.t..

    Redis_Crud_Example

    Cache란? "오랜시간이 걸리는 작업" 혹은 "반복적으로 요청하는 작업"의 결과를 메모리에 저장해서 데이터 접근의 시간과 비용을 줄이는 기법을 의미합니다. application.yml 이번 실습에서는 Cache 저장소로는 Database 저장소로는 OracleDB 를 사용하며, ORM은 JPA를 사용합니다. spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.url=URL주소 spring.datasource.username=아이디 spring.datasource.password=비번 logging.level.org.hibernate=info ##jpa spring.jpa.database=oracle spring.j..