728x90
반응형

 

1.  redis 의 정의

  • In-Memory 데이터베이스이며, 다른 제품들과 다르게 다양한 자료구조를 지원한다.
    • String, Set, Sorted Set , Hash ,List 
  • key-value 구조 데이터 관리 시스템
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding ) 지원
  • 영속성을 지원한다. (명령어로 명시적으로 삭제, expires를 설정하지 않으면 데이터가 삭제되지 않는다)
    •  AOF(Append Only File) 과 RDB(snapshot) 방식을 지원한다. 
  • Redis Server는 1개의 Single Thread로 수행된다. ( 딱 하나의 명령어만 실행할 수 있다는 뜻.. )
    • 장점 : Atomic 보장, race condition 회피
      • Atomicity(원자성) :  Transaction 과  관련된 일은 모두 실행되던지 모두 실행되지 않도록 하던지를 보장하는 특성
      • race condition : 두 개 이상의 프로세스가 공통자원을 병행적으로 읽거나 쓰는 동작을 할 때, 공용데이터에 대한접근이
        어떤 순서에 따라 이루어졋는지에 따라 그 실행결과가 같지 않고 달라지는 상황을 말함
        ( Mutal exclusion , deadlock ,Starvation)
    • 단점 : 명령어 실행이 길어지면 다른 명령에 영향을 준다. 

2. redis 를 쓰는 이유는 ?

  • web - was - db 의 전형적인 구조에서는 사용자가 늘어남에 따라 DB에 과부하가 생기게 되고 데이터베이스의 물리적인 한계로 인해 매 transaction 마다 디스크를 접근해야해서 느려질 수 밖에 없다.
  • 이러한 속도에 대한 문제를 해결하기 위해 Cache 를 찾게 됨 , cache 는 한자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 그래서 같은 요청이 여러번 들어와도 캐시서버에서 바로 결과값을 주기 때문에 DB부하를 줄이고 서비스 개선도 이루어질 수 있음
  • cache 서버에 데이터가 있으면 바로 클라이언트로 데이터를 반환 ( cache Hit ) ,
    cache 서버에 데이터가 없으면 DB에 해당 데이터를 요청 함( cache Miss )




 

 

 

 

출처 : https://brunch.co.kr/@jehovah/20

 

Redis 기본 정리

캐시를 알아야 하는 순간! | 캐시를 접하게 되는 순간 서비스를 처음 운영할 때는 WEB-WAS-DB의 전형적인 3티어 구조를 취하는 편이 보통입니다. 사용자가 몇 명 되지 않는 서비스의 경우에는 3티어

brunch.co.kr

출처 : https://sjh836.tistory.com/178

 

Redis 기본 개념 (기초, Collection 타입, Expire, Persistence)

참조문서 https://redis.io/documentation https://github.com/antirez/redis https://redislabs.com/redis-enterprise/data-structures/ 명령어 목록 : https://redis.io/commands 1. redis란? redis는 REmote..

sjh836.tistory.com

 

728x90
반응형
728x90
반응형

728x90
반응형

'IT Diary > # JAVA' 카테고리의 다른 글

[JAVA] Garbage Colletion 의 동작원리  (0) 2022.05.01
[ JAVA ] JVM 의 정의  (0) 2022.05.01
스택과 큐  (0) 2021.08.27
추상클래스 , 추상매소드  (0) 2021.08.17
HashMap  (0) 2021.08.14
728x90
반응형

 

1. JPA의 정의

 

JPA(Java Persistence API)는 ORM(Object-Relation Mapping) 전문가가 참여한 EJB 3.0(Enterprise Java Beans) 스펙 작업에서 기존 EJB ORM 표준으로 사용되던 엔티티빈(Entity Bean) 을 대체하여 나온 ORM 표준이다. 기존 엔티티빈이 EJB 컨테이너에 의존하던것에 비해 POJO 방식 프레임워크로 개발되었으며, 이로인해 Java EE 뿐 아니라 JAVA SE 에서도 사용 가능하며 활용도가 높다.

 

2. JPA 동작원리

 

 

 

자바 ORM 기술에 대한 표준명세 

ORM ( Objecet Relational Mapping )  객체-관계 맵핑의 줄임말 

OOP(Object Oriented Programming) 에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relation Database) 에서 쓰이는 데이터인 테이블을 자동으로 매핑하는것을 의미

 

DB와 객체는 엄연히 다른 존재이므로 DB를 객체화 시켜서 사용할 수 있게 하는게 JPA의 장점이라고 생각한다. 

 

DB  <-  mapping -> Object 필드 

 

 

 

 

참조: https://geonlee.tistory.com/207

 

ORM(Object Relational Mapping)이 뭘까? 🤔

ORM이란? ORM은 Object Relational Mapping 즉, 객체-관계 매핑의 줄임말이다. 객체-관계 매핑을 풀어서 설명하자면 우리가 OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(R..

geonlee.tistory.com

참조: https://velog.io/@adam2/JPA%EB%8A%94-%EB%8F%84%EB%8D%B0%EC%B2%B4-%EB%AD%98%EA%B9%8C-orm-%EC%98%81%EC%86%8D%EC%84%B1-hibernate-spring-data-jpa

 

JPA는 도대체 뭘까? (orm, 영속성, hibernate, spring-data-jpa)

JPA는 도대체 무엇일까요? orm, jdbc, 영속성, hibernate, ... 관련 지식까지 모두 파해쳐봅니다.

velog.io

 

728x90
반응형

'IT Diary > # JPA' 카테고리의 다른 글

@Transactional 어노테이션  (0) 2022.07.27
728x90
반응형
728x90
반응형

'IT Diary > # 끄적이며 공부하기' 카테고리의 다른 글

Kafka 조금은 친해져보기  (0) 2023.01.04
Message Queue 와 ApacheKafka  (0) 2022.08.13
Java는 뭘까?  (0) 2021.08.22

+ Recent posts