Redis 캐시 및 메모리 직접 사용
아직 Redis를 사용하지는 않았지만 그것에 대해 듣고 캐시 저장으로 시도 할 계획입니다.
Redis가 메모리를 캐시 저장소 데이터베이스로 사용한다고 들었으므로 변수를 객체 또는 사전 데이터 유형으로 사용하여 데이터를 저장하는 경우의 차이점은 무엇입니까? 처럼:
var cache = {
key: {
},
key: {
}
...
}
Redis의 장점은 무엇입니까?
Redis는 원격 데이터 구조 서버입니다. 데이터를 로컬 메모리에 저장하는 것보다 확실히 느립니다 (데이터를 가져 오기 / 저장하기 위해 소켓 왕복이 필요하기 때문에). 그러나 몇 가지 흥미로운 속성이 있습니다.
Redis는 애플리케이션의 모든 프로세스에서 액세스 할 수 있으며 여러 노드에서 실행될 수 있습니다 (로컬 메모리로는 달성 할 수없는 것).
Redis 메모리 스토리지는 매우 효율적이며 별도의 프로세스로 수행됩니다. 메모리가 가비지 수집 된 플랫폼 (node.js, java 등)에서 응용 프로그램을 실행하는 경우 훨씬 더 큰 메모리 캐시 / 저장소를 처리 할 수 있습니다. 실제로, 매우 큰 힙은 가비지 수집 언어에서 제대로 수행되지 않습니다.
Redis는 필요한 경우 디스크의 데이터를 유지할 수 있습니다.
Redis는 단순한 캐시 그 이상입니다. 다양한 데이터 구조, 다양한 항목 제거 정책, 블로킹 큐, pub / sub, 원 자성, Lua 스크립팅 등을 제공합니다.
Redis는 고 가용성을 구현하기 위해 마스터 / 슬레이브 메커니즘으로 활동을 복제 할 수 있습니다.
기본적으로 동일한 데이터를 공유하는 여러 노드에서 애플리케이션을 확장해야하는 경우 Redis (또는 다른 원격 키 / 값 저장소)와 같은 것이 필요합니다.
현재 우리는 각 요청이 다른 컨테이너로 갈 수있는 서버 아키텍처가 덜 매력적입니다.이 경우 redis는 매우 중요한 역할을 할 수 있습니다.
요청이 단순 캐시가 저장된 동일한 컨테이너에서 제공되는지 확신 할 수 없으므로 서버에서 단순 캐시를 사용할 수 없습니다.
이 경우 원격 위치에 캐시를 저장하기 때문에 redis를 사용해야하며 서버가 적은 아키텍처의 컨테이너 변경에도 액세스 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/19477821/redis-cache-vs-using-memory-directly
'program story' 카테고리의 다른 글
자바 스크립트를 통해 버튼 클릭시 태그의 (0) | 2020.07.27 |
---|---|
비트 버킷에 리포지토리를 먼저 만들지 않고 SourceTree를 사용하여 로컬 리포지를 비트 버킷에 푸시하려면 어떻게합니까? (0) | 2020.07.27 |
Entity Framework 4 vs NHibernate (0) | 2020.07.27 |
TFS 2010에서 체크인을 되 돌리는 방법 (롤백) (0) | 2020.07.27 |
Android가 Java를 사용하는 이유는 무엇입니까? (0) | 2020.07.27 |