1.读写分离的背景
实际的生产环境当中,客户端对数据库的读操作都是直接找redis拿数据的
如果redis缓存里面没有数据,那么就会去找mysql拿数据,并且给redis中缓存一份
redis中的数据有两种情况不能使用:数据过期了或者mysql中的数据更新了
用户读的时候访问redis,用户写的时候访问mysql
实际上读的需求量是很大的,redis刚好是把数据缓存在内存当中,响应速度也快
也可以降低我们后台mysql数据库的压力
一般对于高并发的系统来说,搭建一个健壮的缓存系统是不可避免的。
单机的reids的QPS可能只能上万,如果有再高并发的场景,单机是不能搞定的,就会有它的系统瓶颈。
一般来说缓存是用来支撑高并发读,这时候我们可能就会想到读写分离;
读写分离是用来处理读的并发量大,而写的并发量小的场景。
2.搭建基本的实验环境
注意:此次实验是在上一篇redis的基础上做的,因此搭建实验环境非常简单
主机信息 | 主机功能 |
---|---|
172.25.2.1(server1) | 前端服务器 |
172.25.2.2(server2) | redis数据缓存 |
172.25.2.3(server3) | mysql数据库 |
(1)用真机连接三台虚拟机
(2)停止server1和server3上面的redis服务
(3)开启server3上面的redis服务,并且查看redis节点是否为master节点,并且没有slave节点