Redis 4

24.08.22 TIL - 캐싱

오늘 배운 것캐싱캐싱 전략캐싱 in Spring 캐싱이란?Cache란?캐싱은 컴퓨팅에서 데이터를 더 빠르게 접근할 수 있는 장소에 임시로 저장하여 시스템 성능을 향상시키는 기법이다.  더 빠르게 접근할 수 있는 장소가 Cache이다.  Cache는 본래 CPU 내부의 작은 영역으로, 정말 빈번히 접근하게 되는 데이터를 저장해두는 임시 기억 장치다.  데이터를 영속성을 위해 파일시스템(디스크)에 저장하고, 빠른 활용을 위해 메모리(RAM)에 저장한다.  그리고 정말 많이 사용되는 휘발성 데이터가 캐시에 저장된다. Cache는 CPU에 딱 붙어 있어서 RAM을 오가는 속도보다 캐시의 데이터 가져오는 것이 더 빠르다.  캐싱 in WEB 캐시의 목적과 방식을 웹 개발에 적용했다.  빈번하게 접근하게 되는 데이..

TIL 2024.08.23

24.08.21 TIL - session clustering

오늘 배운 것session clustering 문제 인식세션로그인을 구현할 때 세션 방식을 사용하는 방법도 있다.  세션 방식 간단히 설명해보겠다.  사용자가 로그인에 성공하면 서버 메모리에 세션 저장소가 있는데 이곳에 사용자 정보를 넣어 놓는 것이다. 서버는 이 사용자에 대한 session id를 쿠키에 넣어 다시 브라우저 (사용자)에게 돌려준다. 브라우저는 쿠키 저장소에 쿠키를 저장해 두었다가 서버에 요청을 보낼 때 session id를 같이 넣어서 보낸다. 서버는 세션 저장소에서 session id와 연관된 사용자 정보로 요청 보낸 사용자가 누구인지 파악한다.  어떻게 보면 세션은 로그인에서 중요한 어떤 사용자인지를 판단하는 일을 하는 것이다.  HTTP의 특징인 stateless 때문에 어떤 사용..

TIL 2024.08.23

24.08.20 TIL - Redis in Spring

오늘 배운 것Spring Data Repository Spring Data RepositorySpring Data가 가지고 있는 Repository 객체 사용하는 것 @RedisHash 사용해 Repository 만들고 사용하는 것 Java 객체를 Redis에 손쉽게 CRUD 할 수 있음  사용법Spring Data의 JpaRepository 사용과 유사 JPA에서는 DB에 저장할 엔티티에 @Entity annotation 붙임 Redis에 저장될 클래스에는 @RedisHash(key) annotation 붙임 @RedisHash 안에 Redis key를 적는 것 JPA의 Entity@Entitypublic class Item { @Id private Long id; private Str..

TIL 2024.08.21

24.08.19 TIL - Redis

오늘 배운 것Redis Redis란Redis는 REmote DIctionary Server의 줄인말Java의 Map과 같은 방식으로 데이터를 저장하는 DBRedis는 가장 대중적인 인메모리 DBRedis는 대표적인 NoSQL DB 인메모리 DB = 데이터를 디스크(하드 드라이브나 SSD)가 아닌 시스템의 주 메모리(RAM)에 저장하는 데이터 저장소 NoSQL DB = "Not Only SQL"의 약자로, 관계형 데이터베이스(SQL)와는 다른 방식으로 데이터를 저장하고 관리하는 DB  인메모리 저장소 vs 디스크 기반 저장소  인메모리 저장소디스크 기반 저장소 데이터 접근 속도RAM에 저장해 빠름디스크에 저장해 느림데이터 영속성휘발성 메모리 (RAM)에 저장해 영속성 유지 X디스크에 저장해 영속성 유지 O..

TIL 2024.08.20