> 일반적인 문제 > 레디 스의 용도는 무엇입니까

레디 스의 용도는 무엇입니까

(*-*)浩
풀어 주다: 2020-09-17 11:05:59
원래의
42973명이 탐색했습니다.

redis의 기능: 1. 최신 n 데이터 가져오기 3. 정확한 러시 시간 설정 5. 중복 값 제거 스팸 방지 시스템을 만듭니다. 7. 대기열 시스템을 구축합니다.

레디 스의 용도는 무엇입니까

많은 친구들이 redis 데이터베이스를 배운 후 매우 혼란스러워하며, 이것을 배운 후에 무엇을 할 수 있는지 모릅니다. 결과적으로 그들은 학습을 계속할 의욕을 잃습니다. 모든 사람이 Redis를 계속해서 배울 수 있도록 하려면 모든 사람을 위한 간단하고 실용적인 Redis 애플리케이션 시나리오 가이드를 작성하는 것이 필요하다고 생각합니다.

1. 최신 n 데이터 가져오기

친구들의 이해를 돕기 위해 예시를 들어 설명하겠습니다.

예:

现在你在和讯网黄金频道上班,项目经理让你负责每天在频道首页生成一张数据表,来展示1个月内的国际黄金的开盘和收盘价格.如果
我们从mysql数据库中按时间排序取出,固然可以.但是你要考虑和讯网的并发量,和你排序时对资源的一个浪费程度.
로그인 후 복사

이때 우리는 redis 목록 액세스를 선택하는데 매우 유용합니다. , Redis에는 대기열(목록) 데이터 구조가 있고 선입선출 기능도 있다는 것을 알고 있습니다. 이 경우 간단한 lrange 명령으로 최근 1개월의 데이터를 얻을 수 있습니다. 원하는 간격의 값을 얻습니다.

2. TOP N 데이터를 얻습니다.

다음 예는 제목을 보면 첫 번째 응용 프로그램과 유사한 것처럼 보이지만 실제로는 여전히 차이점이 있습니다. . 응용프로그램 1에서는 목록의 선입선출 기능을 활용하여 액세스 시간에 따라 검색합니다. 다음 예는 실제 문제를 해결하기 위해 정렬된 집합의 기능을 사용하는 것입니다.

现在你受雇于APPLESTORE,项目经理要求你在商店首页,展示下载量排行前30的APP.
로그인 후 복사

이번에는 우리의 redis 학습 과정을 생각해 보면 우리가 이야기한 SortedSet 순서 컬렉션이 완벽합니다. 각 앱에 대해 고유한 ID를 생성하고 이를 컬렉션의 구성원으로 사용하고 다운로드 수를 점수로 사용하면 됩니다. 그런 다음 이 점수를 Ordered Set에 삽입하면 Redis는 크기에 따라 정렬하고 자연스럽게 Ordered Set이 형성됩니다. 결국 상위 N 또는 하위 N을 얻는 것은 귀하의 몫입니다. data.

3. 정확한 급매시간 설정

급매시간 및 판촉시간 설정은 전자상거래 분야에서 정말 활용도가 높습니다.

现在你在阿里的淘宝事业部上班,领队组长分配你来完成一个限时抢购活动,某商品中午10:00开始进行抢购,1小时后,活动结束.
로그인 후 복사

咿아, 시간이 한정되어 있으니 꼭 정확히 1시간 안에 종료됩니다. 이때 Redis에 대해 알아봅니다. 이 과정에서 언급된 키의 유효 기간이 만료 시점의 타임스탬프에 따라 특정 활성 키의 만료 시간을 설정할 수 있습니다. 사용자가 서둘러 구매하는 동안에는 데이터를 제출해야 합니다. 사용자가 주문할 때 해당 활동의 키가 만료되었는지 여부를 반드시 하드 디스크 데이터베이스에 저장할 필요는 없습니다. 만료되지 않으면 사용자는 주문할 수 있으며 주문 데이터는 일시적으로 메모리에 캐시됩니다. 키가 만료되면 사용자는 동시에 많은 주문을 가져올 수 없습니다. 첫째, 정확한 시간 설정을 달성하고, 둘째, 급한 구매의 높은 동시성에 대처합니다.

你目前就职的单位是中央全面深化改革领导小组技术顾问办公室,在过去如果全国人民一起选代表,既浪费人力又浪费财力.现在网络技术
发展了,习近平组长交代由你牵头开发点赞选人大平台.
接到这个项目,你是不是很犯难,13亿啊!可能同时集中在某个时间段,点赞,如此大的IO请求.硬盘数据库多少有些力不从心.哎,这个时候
你要运用上我们的内存数据库系统了,redis中对key的增incre,减decr不正适合你的需求么.
로그인 후 복사
5. 중복된 값을 제거하세요. 우리 MySQL에는 고유 인덱스가 없나요? 아, 알겠습니다. 제가 말씀드리고 싶은 것은 우리 Redis의 문자열에 대한 set 명령입니다.
你现在在下厨房平台,任职技术兼策划.你准备收集天下美食,苦于不知菜名.网络是有魔力的,人名群众的智慧是无穷的.你准备发动全
国的网友们,为你提供菜名,同时你还不想让大家发出相同菜名.
로그인 후 복사

그런 문제가 보이시나요? 이전에 redis의 문자열 유형을 학습할 때 언급한 set 명령을 생각해 보세요. 다른 매개변수가 제공되지 않은 경우 키가 이미 존재하면 생성하고 추가합니다. 이 경우에는 키 값이 존재하므로 덮어쓰는 것이 필요합니다.

6. 스팸 방지 시스템을 만들려면 set 명령을 사용하세요. 이걸 보면 혼란스러워요. 깨진 세트 명령은 언제 쓰레기와 싸울 수 있습니까? 야, 너 좀 더 상상력이 풍부하고 더 커야 해. XX교육 고성능 아키텍처 수업을 듣고 있는 Xiaopang은 set 명령을 사용하여 문자열을 조작할 때 사용자가 제출한 키가 존재하지 않는 경우에만 NX 매개변수를 제공한다고 전화로 말했습니다. 그래야만 열쇠가 ​​작동됩니다. 미리 온라인에서 민감한 단어 사전을 다운로드하여 데이터베이스에 설정해 놓으면 샤오팡의 안내를 듣고 나면 긴장이 풀릴 것입니다.

7. 게시 및 구독 사용 실시간 메시지 푸시 시스템 구축의 SUBSCRIBE 및 PUBLISH 명령

上次你制作的统计菜名系统,领导会上先把你肯定了一番,然后义正言辞地说,小明啊,你这系统不太符合净网行动的要求啊,有些网友把一
些带有明显淫秽色情的菜名都提交到了系统.还被展示出来投票,这不荒唐吗?
로그인 후 복사
샤오팡이 또 생각나시죠, 샤오팡이 전화로 redis에 구독 구독 및 게시 기능이 있다고 말씀하셨어요. 전화를 끊고 자습 IT 네트워크에 가보세요. 검색하자마자 예상대로 나왔습니다. 구독자는 해당 모델에 게시 구현이 있는 한 다른 사용자 모델을 구독할 수 있습니다. 실시간. 왕다추이는 아니지만 Redis가 이런 일을 할 줄은 몰랐네요.O(∩_∩)O ㅎㅎ~

8.

忙完微博的事,正准备收拾东西去挤地铁的你.突然被组长叫住了.
小明,你虽然完成了微博关注和推送的技术架构.但是这几天又有个新问题出现了.因为FB用不了,微博用户暴增.特别是认证大V的用户越
来越多,就连门口烤红薯的大爷早上还拽着我说,给他整个大V吧,俺不差钱.老板为了缓解认证方面的压力,已经开始收费认证了,但是还是
挡不住这群XX.赶上过节饭点,大V们几乎同时发微博,推送服务器有点压力.你把这个问题解决了,再走吧,晚点回去打车公司报销.然后打
完卡他走了.
로그인 후 복사

“同时发微博”,”同时推送,服务器压力大”.你从电脑中找到了小胖之前发给你的那本redis自学笔记,笔记上说.我们可以将若干个需要执行的事件加入队列,然后按时间的顺序去逐个逐个的执行.这个时候你又想到了一个提高用户互动性的好办法.我能不能让粉丝数目多的大V的微博优先推送呢?毕竟粉丝基数大,影响大,总能搞出一个大新闻.既然这样,我直接使用有序队列不就行了.把一个个大V的微博推送事件ID存入有序队列,同时依据粉丝数给予权重(或说优先级).不就可以达到我们的需求了么.

9. 缓存

这一点大家应该很熟悉了,它可以像memcache一样充当缓存数据库.不过的它的数据类型比memcache多的多,应对场景自然要比memcache丰富的多.比较时髦的用法是,用其来缓存会话哦.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿