본문 바로가기

생각정리/Redis

(6)
Spring Redis 자료구조 사용 의존성 주입 gradle에 redis의존성을 추가해 준다. implementation 'org.springframework.boot:spring-boot-starter-data-redis' 레디스 주소 설정 레디스를 사용할 호스트주소와 포트번호를 지정해 준다. spring: data: redis: host: localhost port: 6379 레디스 설정 Lettuce Client를 이용해 Redis와 연결하고 사용하기 편하게 Redis Template를 수정해 사용을 한다. 크게 사용하는 시리얼라이저는 3가지로 프로젝트와 개인에 맞게 설정해서 사용을 하는 듯하다. GenericJackson2JsonRedisSerializer 제일 많이 사용하는 방법으로 class type에 상관없이 값을 불러올 수 ..
레디스 클라이언트 Jedis, Lettuce Jedis https://github.com/redis/jedis GitHub - redis/jedis: Redis Java client Redis Java client. Contribute to redis/jedis development by creating an account on GitHub. github.com https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.html JedisConnectionFactory (Spring Data Redis 3.2.3 API) postProcessConnection Post proce..
레디스 설치 윈도우 레디스 설치 wsl는 윈도우에서 리눅스의 일부기능을 사용할 수 있게 해주는 플랫폼으로 wsl를 이용해 레디스를 사용할 수 있다. $ wsl --install wsl를 이용해 ubuntu를 사용할 수 있도록 설정을 해준다. windows 기능 켜기/끄기에서 Linux용 Windows 하위 시스템을 설치하고 재부팅을 해준다. Microsoft Store에서 ubuntu LTS를 다운로드하여준다. 설치 후 열기를 눌러 ubuntu terminal을 실행해 사용자 이름과 비밀번호를 설정해 준다. wsl 버전을 1이라면 업데이트를 해주고 다른 시스템이 기본값이라면 ubuntu로 변경해 사용해 준다. wsl -s 변경할 시스템명 : 기본값 자체를 변경 wsl를 이용해 우분투 환경에서 레디스를 다운로드할 수 ..
Redis와 Memcached Memcached란? 무료로 사용할 수 있는 오픈소스 분산 메모리 캐싱 시스템 데이터베이스의 부하를 줄여 동적 웹 애플리케이션의 속도개선을 위해 사용되기도 한다. 데이터베이스나 API호출 또는 랜더링 등으로 부터 받아오는 결과 데이터를 작은 단위의 키-값 형태로 메모리에 저장하는 방식 Memcached는 필요량보다 많은 메모리를 가졌을 때, 시스템으로부터 메모리를 사용하고 필요로 하는 메모리가 부족한 경우 이를 더 쉽게 가져다 사용할 수 있도록 만들어 준다. 사용 사례 캐싱 인메모리 캐시를 구현하여 데이터 엑세스 지연 시간을 줄이고 처리량을 늘리며 백엔드 시스템의 로드를 완화하는 데 매우 적합하다. 데이터베이스 쿼리 결과 캐싱, 세션 캐싱, 웹 페이지 캐싱, API 캐싱, 이미지, 파일 및 메타데이터와 ..
레디스의 기본 구조 자료구조 레디스는 RDS와 달리 데이터 타입 등을 지원하지 않는다. 오직 몇 가지 로우 레벨의 데이터타입을 지원한다. String : 문자열 데이터를 저장할 수 있는 가장 간단한 자료 구조 최대 512MB의 문자열 데이터를 저장할 수 있으며 이진 데이터를 포함하는 모든 종류의 문자열이 binary-safe 하게 처리되기 대문에 JPEG 이미지와 같은 바이트 값, HTTP 응답값 등의 다양한 데이터를 저장하는 것도 가능하다. 유일하게 키와 값이 일대일로 연결되는 자료구조이다. (String이 아닌 다른 자료 구조에서는 하나의 키에 여러 개의 값이 저장된다.) 문자열에 숫자를 넣을 수 있고 원자적으로 조작을 할 수 있다. (동시성 제어와 비슷) 단순 증감 연산으로 사용 가능 (INCR / INCRBY / I..
레디스란? 레디스의 개요 Redis(Remote dictionary server)는 고성능 키-값 유형의 인메모리 NoSQL 데이터베이스로, 오픈 소스 기반의 데이터 저장소로 데이터베이스, 캐시, 메시지 브로커 등으로 주로 사용되고 있다. 레디스의 특징 인메모리 데이터베이스 인메모리 형태의 데이터베이스에서는 모든 데이터가 컴퓨터의 메모리에서 관리돼 디스크에 접근하는 과정이 필요 없어 데이터 처리 성능이 굉장히 빠르다. 인 메모리 데이터베이스와 온디스크 데이터베이스의 차이 온디스크 형태의 데이터베이스에서 데이터는 영구적으로 디스크에 저장되며 데이터를 찾을 때에는 직접 디스크에 가서 데이터를 검색하는 과정을 거쳐야 하기 때문에 메모리에 접근하는 속도보다 현저히 느리다. 문제점으로 메모리의 데이터는 휘발성이기 때문에 소..