基于Redis的高并发抢红包应用的设计与实现
发布时间:2017-08-23 01:09
本文关键词:基于Redis的高并发抢红包应用的设计与实现
【摘要】:近年来,随着互联网金融、O2O业务、电子商务等各种互联网应用的蓬勃发展,人们的日常生活与互联网之间的联系变得越来越紧密,网上的交互行为也变得越来越频繁。面对庞大的网民数量和频繁的网络交互形成的海量并发访问,各种互联网应用承担着越来越大的负载压力。如何快速有效的响应海量并发请求已成为互联网应用的重要研究内容。而缓存技术方案由于其低廉的费用和高性能的读写速度,得到了互联网应用的广泛关注。本文首先分析了抢红包应用的特点,阐述了现有抢红包处理流程中存在的问题,由于抢红包过程中需要对用户的合法性进行鉴别,避免同一个用户多次抢到同一批红包,而对用户进行合法性鉴别这个功能模块由于其应用的特殊性,在程序设计上必须采用线程同步方式,从而保证用户的合法性得到有效的鉴别,但线程同步的方式也导致了目前的抢红包处理效率不高,本文从线程同步和通道扩展两个方面进行研究,提出了解决高并发抢红包应用的关键在于设计一个无需线程同步的用户筛选引擎,通过用户筛选引擎可以将所有用户导流到不同的抢红包通道中。从系统测试结果来看,本文提出的用户筛选引擎的多通道处理机制是行之有效的。其次,本文运用Redis缓存技术,将所有的红包信息(包括未分配红包信息和已分配红包信息)全部缓存到内存中,通过内存读写机制,大大提高了红包信息的读写速度。同时结合一致性哈希技术完成用户筛选引擎的设计,避免了线程同步所导致的抢红包通道变窄问题,从而构建了一个可扩展的多通道抢红包处理机制,大幅提升应用系统的高并发处理效率。最后通过详细的系统实现和测试分析,证明了基于Redis的高并发抢红包应用设计的有效性。采用用户筛选引擎后,使用三通道线程同步模式进行抢红包测试,系统可以达到每秒抢2.69万个红包,完全可以满足了大部分抢红包应用场景的需求。因此,本应用具有较大的科学价值和工程价值,适用于高并发下海量数据处理的专业应用。
【关键词】:Redis 高并发 抢红包 用户筛选
【学位授予单位】:湖南大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.52
【目录】:
- 摘要5-6
- Abstract6-12
- 第1章 绪论12-17
- 1.1 选题背景与意义12-13
- 1.2 国内外相关领域研究现状13-15
- 1.2.1 国外研究现状13
- 1.2.2 国内研究现状13-15
- 1.3 本文研究内容与组织结构15
- 1.4 创新点及不足15-17
- 第2章 相关技术介绍17-23
- 2.1 No SQL概述17-19
- 2.2 Redis概述19-21
- 2.2.1 Redis特点19
- 2.2.2 Redis常用数据类型19-21
- 2.3 一致性哈希概述21-22
- 2.4 本章小结22-23
- 第3章 高并发抢红包处理机制的分析与设计23-34
- 3.1 抢红包应用需求分析23-25
- 3.2 高并发抢红包的分析与研究25-32
- 3.2.1 一般处理机制25-26
- 3.2.2 线程同步处理机制26-28
- 3.2.3 双通道线程同步处理机制28-29
- 3.2.4 大用户集合的双通道线程同步处理机制29-31
- 3.2.5 用户筛选引擎的多通道线程同步处理机制31-32
- 3.3 本章小结32-34
- 第4章 高并发处理系统的实现34-43
- 4.1 类图34-35
- 4.2 配置模块实现35-36
- 4.3 未分配红包队列模块实现36-37
- 4.4 用户判别模块实现37
- 4.5 抢红包模块实现37-38
- 4.6 已分配红包队列模块实现38-39
- 4.7 用户筛选引擎模块实现39-40
- 4.8 单例模式Redis模块实现40-41
- 4.9 抽象类Handle模块实现41-42
- 4.10 本章小结42-43
- 第5章 系统测试43-52
- 5.1 系统测试环境及指标43-44
- 5.1.1 硬件测试环境43-44
- 5.1.2 软件测试环境44
- 5.2 功能性测试44-51
- 5.2.1 测试目的44-45
- 5.2.2 测试方法45-49
- 5.2.3 测试结果与分析49-51
- 5.3 本章小结51-52
- 结论52-54
- 参考文献54-57
- 致谢57
【相似文献】
中国期刊全文数据库 前2条
1 曹丹丹;乐嘉锦;夏小玲;;Redis数据库在视频推荐服务系统中的应用[J];计算机与现代化;2013年10期
2 ;[J];;年期
中国硕士学位论文全文数据库 前3条
1 田京昆;基于redis的券商活动平台的设计与实现[D];哈尔滨工业大学;2015年
2 徐竟州;基于Redis的高并发抢红包应用的设计与实现[D];湖南大学;2016年
3 江涛;百度视频泛需求检索数据处理子系统的设计与实现[D];北京交通大学;2014年
,本文编号:722097
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/722097.html