SQL 데이터베이스 대신 Redis와 같은 키 / 값 저장소를 사용하는 경우는 언제입니까?
Redis와 같은 키 / 값 저장소에 대한 훌륭한 내용을 읽었지만 응용 프로그램에서 사용할 때를 파악할 수 없습니다.
웹 기반 애플리케이션을 설계한다고 가정 해보십시오. 프론트 엔드, 백엔드, 데이터베이스 등에 사용할 스택을 알고 있습니다. "오, X, Y 또는 Z 용 Redis도 필요합니다."
node.js 예제와 non-node.js 예제에 감사드립니다.
응용 프로그램에서 사용할 때를 알 수없는 것 같습니다.
유스 케이스도 포함 된 이 학습서 를 읽으십시오 . redis는 메모리 지향적이기 때문에 세션 저장소, 상태 데이터베이스, 통계, 캐싱 및 고급 데이터 구조 와 같은 자주 업데이트되는 실시간 데이터 에 매우 유용합니다.
그러나 Redis는 고전적인 관계형 데이터베이스를 NoSQL로 대체하지 않습니다. RDBMS 세계의 많은 표준 기능을 지원하지 않아 데이터 속도 저하가 발생할 수 있기 때문입니다. 대체는 MongoDB 또는 CouchDB와 같은 문서 데이터베이스이며 redis는 고급 데이터 구조에 대한 속도와 지원이 편리한 특정 기능을 보완하는 데 탁월합니다.
나는이 기사보다 Redis의 사용 사례를 더 잘 설명하는 것은 없다고 생각합니다 : http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
나는 당신이 아하 것입니다 내기 ! 순간 . ;)
이전 독자의 인용문 :
나는 전에 Redis에 대해 읽었고 회사가 어떻게 그것을 사용하고 있는지 들었지만 그 목적을 완전히 이해하지 못했습니다. 이것을 읽은 후에 실제로 Redis를 이해하고 유용하다는 것을 알 수 있습니다. 그것에 대해 너무 많이들은 후에는 비교적 간단한 기사라는 것이 놀랍습니다.
기사에서 인용 :
Redis는 여러 가지면에서 다른 데이터베이스 솔루션과 다릅니다. 지속성을 위해 메모리를 기본 스토리지 지원 및 디스크로 사용하고 데이터 모델은 매우 독창적이며 단일 스레드 등입니다. 프로덕션 환경에서 Redis를 활용하기 위해 Redis로 전환 할 필요가 없다는 또 다른 큰 차이점이 있습니다. 이전에는 불가능했던 새로운 일을하거나 오래된 문제를 해결하기 위해 사용할 수 있습니다.
기사가 다루는 사용 사례 :
- 홈페이지의 느린 최신 상품 목록
- 리더 보드 및 관련 문제
- 사용자 투표 및 시간 순서
- 아이템에 대한 구현 만료
- 물건 계산
- 주어진 시간에 고유 한 N 개의 아이템
- 통계, 스팸 방지 또는 기타 상황에 대한 실시간 분석
- 펍 / 서브
- 대기열
- 캐싱
실시간 프로젝트에서 redis를 사용하고 싶습니다. 나는 최근에 mysql에 데이터베이스로 구축 된 하나의 GPS 추적 시스템을 위해 최근에했습니다.
이점
- 추적기가 데이터를 브로드 캐스트 할 때마다 mysql 연결을 열고 저장할 필요가 없습니다. redis에 저장하고 나중에 다른 프로세스를 사용하여 mysql로 마이그레이션 할 수 있습니다. 이것은 다중 추적기에서 mysql 로의 동시 연결을 피합니다.
- 모든 GPS 데이터를 게시 할 수 있으며 다른 클라이언트 (javascript / android)는 redis 기반의 메시지 대기열을 사용하여 실시간으로 구독 할 수 있습니다
- 실시간 알림을 트리거 할 수 있습니다
한 가지 단점은 Redis가 관계형 데이터베이스가 아니라는 것입니다. SQL "JOIN"이 필요하다면 Redis 나 다른 비 관계형 데이터베이스를 사용하고 싶지 않을 것입니다. Redis는 대부분의 관계형 데이터베이스보다 빠릅니다. 키 : 값 쌍 쿼리 만 수행하려는 경우 Redis를 사용하는 것이 좋습니다.
'IT박스' 카테고리의 다른 글
scikit-learn K-Means Clustering을 사용하여 자신의 거리 기능을 지정할 수 있습니까? (0) | 2020.06.04 |
---|---|
PostgreSQL에서 시간대가 있거나없는 타임 스탬프의 차이점 (0) | 2020.06.04 |
RStudio for Python과 같은 것이 있습니까? (0) | 2020.06.04 |
evt.preventDefault ()의 반대는 무엇입니까? (0) | 2020.06.04 |
Kafka를 사용한 데이터 모델링? (0) | 2020.06.04 |