各位大神,这个是面试题啊,小弟是菜鸟,最好,用比较通俗的话说,最好不要直接 百度copy 其他人的,最好是自己处理总结过的,因为,本人已经百度了很多次了。
大家讲道理2017-04-24 09:15:02
은 C/C++로 작성된 비관계형 데이터베이스(NoSQL)입니다. Redis의 특징:
간단한 데이터 또는 키 인덱스 해시 테이블을 사용하지만 ZREVRANGEBYSCORE와 같은 복잡한 작업도 지원합니다.
INCR & co(한도나 통계 계산에 적합)
세트 지원(union/diff/inter도 지원)
목록 지원(큐도 지원, 팝 작업 차단)
해시 테이블 지원(여러 필드가 있는 개체)
정렬 세트 지원(고득점 테이블, 범위 쿼리에 적합)
Redis는 트랜잭션을 지원합니다
만료된 데이터로 설정 지원 (빠른 버퍼 설계와 유사)
Pub/Sub를 통해 사용자는 메시징 메커니즘을 구현할 수 있습니다.
용도나 사용법은 다음과 같습니다.
일반적으로 Redis는 제한적인 측면에서 실시간 높은 동시성 요구 사항을 충족하기 위해 메시지 대기열 형태와 임베디드 목록 형태로도 존재합니다. . 일반적으로 전자상거래 형태의 데이터 처리 과정에서는 관련 상품의 큐, 핫 세일, 추천 정렬 등이 Redis에 저장되는 경우가 많으며, Storm에 의한 Redis 목록 읽기 및 업데이트도 이 과정에 포함됩니다.
Redis 애플리케이션 시나리오 기사를 참조하세요
黄舟2017-04-24 09:15:02
Redis는 memcache와 다소 유사하며 자주 교체될 수 있는 메모리 kv 저장소입니다. 일반적으로 데이터베이스 앞에 캐시 계층을 추가하는 데 사용됩니다.
예를 들어 간단한 회원 테이블의 경우 각 요청은 회원 테이블을 읽어야 할 수 있습니다. 자주 읽는 내용은 Redis로 캐시할 수 있습니다.
기본이자 가장 많이 사용되는 내용입니다.
Redis에도 대기열이 있습니다. 예를 들어 요청이 사용자의 작업 요청을 기록하는 것이라면 redis->lpush(op)를 사용하여 왼쪽부터 대기열에 참여하세요. 백그라운드 서비스는 redis 대기열 op=redis->rpop(op)에서 읽을 수 있으며 이를 통해 간단한 선착순 정책을 완료할 수 있습니다.
또한 redis는 지속 가능합니다. 즉, 메모리의 kv 데이터가 하드 디스크에 저장되고 정전 후 메모리에서 로드될 수 있습니다.
저는 개인적으로 redis 지속성을 사용하지 않는 것을 권장합니다. 지속성을 끄고 그냥 캐시로 사용하세요.