基于redis缓存技术的校友录网站的设计与实现
摘要
纵览各高校的网站,大部分都没有很好的web校园通讯录体系包含其中,不方便毕业过的校友相互交流。为此,作为毕业生最后一次作业,开发Redis校友录体系的校友录web网站能很好的解决这个难题。此系统使用java语言开发的Web系统,运用Myeclipse8.5来进行项目的开发,SSH框架,数据库采用开源的MySQL和Redis来快速存储数据。Tomcat6开源优势以及性能优越特点被作为本系统体系的服务器。
本系统主要完成了以下功能模块:
用户模块:新用户注册,登录,个人主页,加入好友,同学通讯录查找,收发站内邮件,校友论坛等。
管理员模块。管理员可以增加学院班级,有新闻和论坛帖子进行增加修改和删除权限,还可以封锁某些不良用户。
该论文首先介绍了Redis校友录系统的开发背景,然后给出了详细的需求分析,系统数据库结构设计和功能模块的详细设计,最后通过各个功能模块的界面展示与代码实现来展现改校友录开发的成果,并对Redis校友录系统进行了测试与分析。
关键字:RedisWeb校友录SSH
目 录
1. 绪论 1
1.1 课题研究背景 1
1.2 系统概述 1
2. 相关技术工作 2
2.1 Redis 2
2.2 JQuery 2
2.3 B/S模式 2
2.3.1 B/S模式概述 2
2.3.2 B/S模式的工作原理 3
2.3.3 B/S模式的模型结构 3
2.3.4 B/S模式优点和不足 3
2.4 SSH框架 4
2.5 MySQL数据库 4
2.5.1 MySQL简介 4
3. 系统需求分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2 经济可行性 5
3.1.3 操作可行性 5
3.2系统分析 5
3.2.1 任务描述 5
3.2.2 系统功能描述 5
3.2.3 系统配置 6
3.3系统设计 7
3.3.1功能模块的设计 7
3.3.2系统的用例分析 8
3.3.3系统的协作分析 8
4. 数据库结构及安全 10
4.1 MySQL系统数据库结构 10
4.2系统数据库安全策略 12
5. 功能模块的详细设计 13
5.1 SSH框架在校友录系统中的应用 13
5.2 Redis在本系统中设计与实现 15
5.3用户注册及登录 17
5.3.1新用户注册 17
5.3.2用户登录 18
5.4用户模块 19
5.5管理员模块 25
6. 系统测试与运行 28
6.1系统的开发运行环境 28
6.2测试分析 28
6.2.1功能测试 28
6.2.2 Redis技术的性能测试 28
6.2.3用户界面测试 28
6.2.4浏览器兼容性测试 28
6.2.5压力测试 29
6.3测试方法 29
6.4系统运行 29
6.5 Redis技术对系统运行影响: 29
参考文献 30
致谢 31
1. 绪论
1.1 课题研究背景
现今,互联网犹如利箭穿梭般的飞速发展,打开网页浏览式的生活方式已经慢慢融入了人们生活的一部分,正式因为网络传送信息的快速高效,让许多人更愿意用它来作为通讯交流的工具。炫姿多彩的网络信息,使得网络亲密的紧贴着你我的生活,改变了人们的获取重要信息的渠道。网上冲浪式的获取想要得到的信息和交流已经漫布全球,尤其在教育领域中,使用网络教育来普及学生对网络的认知以及相关课程的学习已经变得必不可少了。然而互联网中大量的教育信息可以帮助学校提高教育质量,而网页自身庞大的资源库、信息量超大、快速传递信息、没有时空限制等优越性,让网上操作式教育也逐渐成为一种重要的教育新资源。网上冲浪信息的需求和推广,使得人们的生活方式因网而变,在信息获取与交流方面,方便了许许多多。
通过各种在线通讯服务系统,可以让即使是在遥遥千里的他/她,与你及时通讯,从而,让许多人告别了陈旧超长式的通讯方式。
1.2 系统概述
校友录系统的开发与实现,能给每个班级创造一个属于自己的小天地,在这个网络的和谐班级中,师生可以通过系统及时通讯交流,快速查看班级最新信息,了解班级和师生状况,上传班级活动相册等。
本校友录系统将在一般校友录系统中加入Redis缓存技术,使系统数据存取和读取速度更快。本网站设计思路是采用redis缓存技术,结合jQuery技术,实现带有班级特色风格的校友录网站。
通过校友录网站,各班级管理员可以在班级网站上面编辑班级网站,发布班级紧急通告或者相关新闻,管理班级,让班级成员及时了解班级通知,除此之外,还可以上传班级相册等。
2. 相关技术工作
2.1 Redis
本系统是基于Redis的。由于Redis的缓存技术不像其他关系型数据库直接跳过JDBC这一层,所以运行的效率要比其他关系型数据库快。
Redis简单的概括就是将Key-Value快速的缓存在内存中,然后通过周期性的将数据存入本地磁盘,提高了数据的存储和读取能力,相比一般的数据库而言,简洁高效是它的优点,Redis是一种高效的缓存数据库系统。Redis还支持Sorted Set,List,Set。它也支持主从同步,可以让从服务器数据同步主服务器数据变得简单可行,它的到来,给开发人员在系统运行效率上带来了质的突破。
Redis的加入可以给校友录系统的数据处理速度方面带来重大突破。
2.2 JQuery
JQuery是用javaScript封装的一个js库,一个优秀的开源javascript框架库,使用它可以简化我们javascript代码的编程。
使用jQuery后能方便开发者前台页面的编程,使用户更方便的处理html页面,其提供的许多插件可以让开发者快速高效的完成前台动画效果的coding。JQuery兼容性也做的非常好完美兼容CSS3,多版本浏览器,不仅如此,Jquery还提供了Ajax交互方法供开发者直接调用,免去了javascript繁杂的方法代码实现。使用jQuery来实现网页前台效果的实现是一些轻量级框架中良好的选择。
2.3 B/S模式
2.3.1 B/S模式概述
B/S结构,即浏览器(Browser)模式/服务器(Server)模式。随着互联网信息技术的飞跃式的兴起,B/S系统模式是对C/S系统结构的一种变化或者改进的结构。
在B/S这种结构下,用户界面完全通过浏览器地址输入的方式来实现,浏览页面效果在页面前端实现,但其主要事务逻辑的数据在服务器端来将其实现,主要承受在服务器端。B/S系统结构,最主要的是利用了日益不断成熟的互联网web技术,结合丰富多彩的网页前端语言:JavaScript、ActiveX和VB/Script技术,通过网页能实现不受时间和空间的限制来访问B/S系统,因为它是分布式的,利用B/S结构开发的系统,我们不需要安装什么本地系统,直接在各个地方都能通过浏览器同时访问,节约了许多开发成本,是一种崭新的软件分布体系的系统构造技术。
随着WEB应用的不断发展,web网页访问式技术应用在了许多系统中,以这种发展趋势,B/S模式的系统将会取代许多C/S体系的应用。显然B/S模式体系相对于传统的C/S结构体系的出台是一种巨大的计算机软件开发体系的进步。
2.3.2 B/S模式的工作原理
B/S结构前台表单(form)请求是POST和GET两种。
服务器成功接受客户端请求之后,web服务器将会应答来自网页前端的请求,通常由响应头部、状态行、文档和空行组成。
请求如果是GET方式,网页前端其实是发出URL链接的请求,变量名和内容都包含在URL后缀的变量中,就像:http://localhost:9877/WEB_Dev/welcome_login.html?name=tangda;另外,如果是POST方式,网页将变量名和它们的内容包装成一个数据包,并将其数据转发到web服务器端。
2.3.3 B/S模式的模型结构
B/S模式与C/S结构不同,但是其是在C/S模式上慢慢研究发展而成的新兴结构。C/S系统开发模式必须要有客户端,因为他是基于客户端和服务器两端,是一种软件体系的系统结构模式,目前主要应用在一些应用系统上。
C/S包括两层体系:一层是在客户端,用来展现模型与逻辑层;另一层是数据库服务器。web服务器通常包含大型数据库系统,像Sybase、Oracle、SQL Server等。客户端就是在客户本机要装一个本地软件系统。
B/S模式在借鉴了C/S模式之后,结合了互联网浏览器技术和Web服务器技术,将繁杂的C/S客户端处理逻辑模块的模式从客户机的任务中很好的分离了出来,最终由Web服务器来处理,所以B/S模式一定要web服务器端性能优越因为其主要压力集中在了服务器上。这样,让系统的开发和维护任务更加明确,减轻了开发维护的难度。
2.3.4 B/S模式优点和不足
B/S结构的优点:
(1)方便用户的访问,通过B/S模式下的软件系统应用,用户不必像C/S模式一样,每台要使用系统的计算机上都要安装客户端,只需要在浏览器输入网址即可以方便的访问系统了,这样,用户的访问就不被地点时间而限制了,免去了繁杂多变的操作,减少用户的访问时间,节约了用户的时间和成本。
(2)B/S模式系统的开发比C/S可扩展性要好,通过B/S模式系统体系,开发者只需通过一个链接就可以去访问另外一个网站,这样一来,如果开发者要对自己的网站做扩充,集群系统等,只要留个链接模块随时扩展,比B/S可扩展性方面方便的多。
(3)由于B/S系统模式体系前端是用网页来显示的,网页要比B/S模式体系中的客户端显示效果要好,因为B/S前段网页支持javascript和css对其增彩添色,而如今,用户对前端显示效果要求越来越多,用户体验日益增强,从这个层面上,B/S这种系统开发模式要比C/S优越的多。
(4)B/S系统模式的开发成本,维护费用和系统升级花费方面,B/S前端对客户端主机的要求不高,可以很大程度上减少硬件成本。由于其框架与C/S不同,总体而言,B/S结构可以大大减少系统开发运维的总体费用。
B/S结构的缺点:
B/S模式体系也有其缺点,由于B/S模式负荷是在服务器上,所以服务器端一定要能承受巨大压力,一旦服务器崩溃,所有用户将会瘫痪不能运行其系统。所以,B/S结构对于服务器端的维护非常的重要不然,用户的访问数据将无法响应,影响用户的使用,损失巨大。
2.4 SSH框架
SSH框架是由控制层Struts,数据持久层hibernate,逻辑管理控制层spring构成的模块化框架。使用此框架思路清晰,代码沉余度小。
2.5 MySQL数据库
2.5.1 MySQL简介
MySQL数据库是开源免费的关系型数据管理系统,其数据库关系表模型层次分明,灵活实用,方便用户开发,是开发人员不错的选择。
3. 系统需求分析
3.1可行性分析
3.1.1技术可行性
Redis校友录系统借鉴网上类似系统性能的优越性以及技术合理性进行比较。最后结合自身能力与系统技术可施展性,系统运行速度等分析,选择了适合自己开发能力范围之内的技术来开发。
数据库方面,主要运用了开源免费的Mysql数据库,之前在实验室做项目有实践的经验,使用起来十分方便性能很好,技术可行的。
服务器采用Tomcat6,此服务器在中小型企业应用居多,所以从技术可行性来分析,承载能力和性能各方面是可行的。
加入Redis技术在校友录系统中,是为了更好的加快系统前台页面的运行速度。Redis缓存技术性能优越,结合关系型数据库使用,能让系统性能更加优越,实现很简易。
综合以上技术的搭配,经过性能测试,SSH框架下的实例项目运行良好,以上技术有许多是自己熟悉的,在可开发程度范围之内,所以技术可行性方面是可行的。
原文链接:http://www.jxszl.com/jsj/qrs/779.html