性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合
系统中使用了缓存+数据库,通用读取数据规则
1、先从缓存读数据,如果有,直接返回数据;
2、如果没有,去数据库中读,然后再插入到缓存中,再返回数据
Mysql+Redis+Tomcat环境整合
1、修改PerfTeach/WEB-INF/classes/redis-config.properties
2、将redisServer修改为自己部署的redis ip:port
3、将redisFlag修改为true
4、重启tomcat
5、http://192.168.1.209:8080/PerfTeach/EnvTest?id=1
系统中使用了缓存+数据库,通用读取数据规则
1、先从缓存读数据,如果有,直接返回数据;
2、如果没有,去数据库中读,然后再插入到缓存中,再返回数据
每次取数据,先从Redis取,Redis中没有,再去mysql中取,取完过后会存储在Redis中,所以就实现了从缓存中取数据,效率大大提高

准备工作:
启动Redis

执行filshdb把之前的数据清掉


去掉主从关系,这样才能保证每个Redis分到的数据都不一样,否则会因为主从关系让两个Redis里面的数据一模一样
将从Redis下conf里面的slaveof行注释掉

启动mysql:执行service mysql start

新建一个名为perf_teach的数据库,并导入数据


1、修改PerfTeach/WEB-INF/classes/redis-config.properties
cd /home/apps/app-PerfTeach/PerfTeach/WEB-INF/classes/


redisServer :要连接的Redis的ip和端口号,此处不限制Redis的数量,写多少就会连多少,数据会均分到每个Redis中,如有1000条数据,有两个Redis,那么每个Redis都会分配500条数据
redisFlag :
如果设为True,就第一次读数据会从数据库读,以后都从Redis读
如果设为false,每次读数据都会从数据库读

所以改为

Redis连接mysql
一般连接数据库的配置文件名字都含有jdbc四个字,Redis的没有,是c3p0-config.xml


执行./startup.sh & tail -f ../logs/catalina.out重启tomcat,并查看启动日志



执行命令netstat -an|grep 端口号 可以查看是否被监听

2、将redisServer修改为自己部署的redis ip:port
3、将redisFlag修改为true
4、重启tomcat
5、http://192.168.1.209:8080/PerfTeach/EnvTest?id=1

查看Redis中有无数据


可以看到,数据存在6380中了

再看看di=2

数据分配到6370中了

Redis数据的分配规则:
有多少个Redis就会把数据库中的数据分成多少分,存到对应的Redis中,一般是按id来算,id与Redis的数量取余
规则:id%Redis数量=n,Redis按端口号升序排序,最小那个用0表示,就和取下标一样,数据会存放到Redis[n]里面

性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合的更多相关文章
- mysql进阶(二十六)MySQL 索引类型(初学者必看)
mysql进阶(二十六)MySQL 索引类型(初学者必看) 索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型. 在数 ...
- VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management
VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management 实验失败告终,启动VMware View Persona Management服务报10 ...
- 二十六、Jcreator使用初步
摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...
- 二十六个月Android学习工作总结【转】
原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...
- Bootstrap <基础二十六>进度条
Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- 二十六:Struts2 和 spring整合
二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇] 通过<实现篇>对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding ...
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...
随机推荐
- Java需要强制捕获的异常
Java编译器要求我们强制捕获Excetion,但不包括RuntimeException 不强制要求捕获Error和RuntimeException是因为,这两种异常我们程序一般无能为力,而其他Exc ...
- 2、Python-流程控制
比较运算符 运算符 描述 示例 == 检查两个操作数的值是否相等,如果是则条件变为真. 如a=3,b=3则(a == b) 为 true. != 检查两个操作数的值是否相等,如果值不相等,则条件变为真 ...
- cdqz2017-test10-rehearsal(CDQ分治&可持久化线段树&单调栈)
题意: 给出n个三元组 e[i]=(si,ti,wi) 第i个三元组的价值为 Σ w[j] ,j 满足以下4个条件: 1.j<i 2.tj<ti 3.sj<si 4.不存在j< ...
- SPOJ 839 OPTM - Optimal Marks (最小割)(权值扩大,灵活应用除和取模)
http://www.spoj.com/problems/OPTM/ 题意: 给出一张图,点有点权,边有边权 定义一条边的权值为其连接两点的异或和 定义一张图的权值为所有边的权值之和 已知部分点的点权 ...
- 消除 transition 闪屏
.css { -webkit-transform-style: preserve-3d; -webkit-backface-visibility: hidden; -webkit-perspectiv ...
- 在O(N)时间内求解 正数数组中 两个数相加的 最大值
一,问题描述 给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相加的最大值,其中被加数的下标大于加数的下标.由加法运算的可逆性,j >i 这个条件可以去掉. 即求出: max ...
- 模板·点分治(luogu P3806)
[模板]洛谷·点分治 1.求树的重心 树的重心:若A点的子树中最大的子树的size[] 最小时,A为该树的中心 步骤: 所需变量:siz[x] 表示 x 的子树大小(含自己),msz[x] 表示 其子 ...
- 【文件】使用jacob将word转换成pdf格式
使用jacob将word转换成pdf格式 1.需要安装word2007或以上版本,若安装07版本学确保该版本已安装2downbank0204MicrosoftSaveasPDF_ XPS,否则安装 ...
- 论文笔记系列-Simple And Efficient Architecture Search For Neural Networks
摘要 本文提出了一种新方法,可以基于简单的爬山过程自动搜索性能良好的CNN架构,该算法运算符应用网络态射,然后通过余弦退火进行短期优化运行. 令人惊讶的是,这种简单的方法产生了有竞争力的结果,尽管只需 ...
- kset学习demo以及Oops反汇编objdump调试例子【原创】
写一个main.c gcc -c -g main.c objdump -S main.o > b.txt arm-none-linux-gnueabi-gcc -c -g a.c arm-non ...