码迷,mamicode.com
首页 > 数据库 > 详细

性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合

时间:2019-01-14 23:14:33      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:jdb   9.png   redis   tar   读数   mysq   多少   star   eof   

系统中使用了缓存+数据库,通用读取数据规则
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环境整合

标签:jdb   9.png   redis   tar   读数   mysq   多少   star   eof   

原文地址:https://www.cnblogs.com/zhongyehai/p/10269339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!