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

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

(*-*)浩
(*-*)浩원래의
2019-05-24 17:10:0542972검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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