>  기사  >  데이터 베이스  >  Redis의 용도는 무엇입니까

Redis의 용도는 무엇입니까

藏色散人
藏色散人원래의
2019-10-17 14:26:363422검색

Redis의 용도는 무엇입니까

Redis 소개

Redis는 고성능 키-값 데이터베이스입니다.

Redis는 다른 키-값 캐싱 제품과 함께 다음 세 가지 기능을 제공합니다.

- Redis는 데이터 지속성을 지원하고 메모리의 데이터를 디스크에 저장할 수 있으며 다시 시작하면 다시 로드할 수 있습니다. 사용.

- Redis는 간단한 키-값 유형 데이터를 지원할 뿐만 아니라 list, set, zset 및 hash와 같은 데이터 구조의 저장도 제공합니다.

- Redis는 데이터 백업, 즉 마스터-슬레이브 모드의 데이터 백업을 지원합니다.

redis의 용도는 무엇인가요? 🎜#1.전체 페이지 캐시

전체 페이지 캐시. 서버 측 렌더링된 콘텐츠를 사용하는 경우 각 개별 요청에 대해 각 페이지를 다시 렌더링할 필요가 없습니다. Redis와 같은 캐시를 사용하면 자주 요청되는 콘텐츠를 캐시하여 가장 많이 요청되는 페이지의 대기 시간을 크게 줄일 수 있으며 대부분의 프레임워크에는 Redis 캐싱 페이지에 대한 후크가 있습니다.

// 设置全页面缓存1分钟
SET key "<html>...</html>" EX 60
// 获取全页面
GET key

2. 순차적 배열

메모리의 Redis Set 데이터 구조는 매우 빠르고 효율적으로 증가 및 감소할 수 있으므로 성능이 훨씬 뛰어납니다. SQL 쿼리보다 높습니다. 이를 Redis의 정렬 세트와 결합하면 목록에서 가장 높은 평가를 받은 항목을 밀리초 단위로 가져올 수 있으며 구현하기가 매우 쉽습니다.

// 向排序集合中添加值
ZADD sortedSet 1 "one"
// 从排序集合中获取所有值
ZRANGE sortedSet 0 -1
// 从排序集合中获取所有值与权重
ZRANGE sortedSet 0 -1 WITHSCORES

3. 세션 저장소

내가 본 Redis의 가장 일반적인 용도는 세션 저장소입니다. Memcache와 같은 다른 세션 저장소와 달리 Redis는 캐시가 중지되어 다시 시작될 때 모든 데이터가 그대로 유지되도록 데이터를 유지할 수 있습니다. 엄격하게 진행되는 작업이 아니더라도 이 기능을 사용하면 사용자의 많은 수고를 덜 수 있습니다. 아무 이유 없이 대화가 무작위로 삭제되는 것을 좋아하는 사람은 아무도 없습니다.

// 设置一分钟过期的session
SET randomHash "{userId}" EX 60
// 获取用户ID
GET randomHash

4. 대기열

Redis로 할 수 있는 흔하지는 않지만 매우 유용한 작업 중 하나는 대기열입니다. 이메일 대기열이든 다른 애플리케이션에서 사용하는 데이터이든 Redis에서 효율적인 대기열을 생성할 수 있습니다. 스택에 익숙하고 프로젝트를 푸시하고 팝할 수 있는 개발자라면 누구나 이 기능을 쉽고 자연스럽게 사용할 수 있습니다.

// 添加消息  
HSET messages <id> <message>
ZADD due <due_timestamp> <id>
// 接收消息
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1  
HGET messages <message_id>
// 删除消息
ZREM due <message_id>
HDEL messages <message_id>

5.pub/sub

Redis의 궁극적인 실제 사용은 이 게시물에서 소개할 pub/sub입니다. 이는 Redis에 내장된 가장 강력한 기능 중 하나입니다. 가능성은 무궁무진합니다. 실시간 채팅 시스템을 만들고, 소셜 네트워크에서 친구 요청에 대한 알림을 실행하는 등의 작업을 수행할 수 있습니다. 이 기능은 Redis가 제공하는 가장 과소평가된 기능 중 하나이지만 매우 강력하고 사용하기 쉽습니다. Redis의 실제 사용이 즐거웠기를 바랍니다. 이 기사는 Redis가 수행할 수 있는 작업의 표면적인 부분에 불과하지만 Redis를 최대한 활용하는 방법에 대한 영감을 얻으실 수 있기를 바랍니다.

위 내용은 Redis의 용도는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.