性能測試二十六:環境部署之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]里面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM