lamp架构之redis(3):redis和mysql的整合

本文详细介绍了如何在LAMP架构中整合Redis和MySQL,包括Redis作为缓存的作用、两者的基本概念和区别,以及解决数据同步问题的gearman实现。在环境部署部分,涉及到redis、mysql的安装和配置,最后通过gearman服务实现MySQL数据变更时Redis的同步,确保数据一致性。
摘要由CSDN通过智能技术生成

一、redis结合mysql

1.redis和mysql的基础概念

mysql:数据放在磁盘

是关系型数据库,主要用于存放持久化数据,

redis:数据放在内存 AOF:增量更新 RDB:覆盖

是NOSQL,非关系型数据库。

2.redis和mysql的区别总结

(1)类型上

从类型上来说,mysql是关系型数据库,redis是缓存数据库

(2)作用上

mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢

redis用于存储使用较为频繁的数据到缓存中,读取速度快

3.为什么要作缓存

当网站的处理和访问量非常大的时候,我们的数据库的压力就变大了,数据库的连接池,数据库同时处理数据的能力就会受到很大的挑战,一旦数据库承受了其最大承受能力,网站的数据处理效率就会大打折扣。此时就要使用高并发处理、负载均衡和分布式数据库,而这些技术既花费人力,又花费资金。

4.redis作为缓存

Redis其实就是说把表中经常访问的记录放在了Redis中,然后用户查询时先去查询Redis再去查询MySQL,确实实现了读写分离,也就是Redis只做读操作。由于缓存在内存中,所以查询会很快。
在这里插入图片描述
由上图可以看出, 用户端访问时,请求直接发送给redis,假如redis有数据就可以直接返给用户,假如redis没有,他就会调取数据库上的数据,用户写入的时候是直接写到了数据库上。

二、环境部署

我们主要解决的就是redis和mysql之间的数据同步的问题。

此时我们要模拟一个业务,读的时候从redis里面读,写的时候往mysql里面写,redis中没有的时候,我们要从数据库中进行加载。

step1将server2作为redis端

先检查2是不是master ,如果是就可以了,如果不是,按下面的步骤进行操作:

server2: vim /etc/redis/6379.conf

注销replicaof 172.25.73.1 6379

加入server2本来就是master,这部忽略

redis-cli

info查看server2是否为master

在这里插入图片描述
step2server4上进行操作,将server4作为数据库端

yum install -y mariadb-server.x86_64

systemctl start mariadb.service
在这里插入图片描述
step3: server3是作为lamp架构,在这里一定要注意选取一个干净的server节点去重新安装lamp架构,因为之前安装server1的lamp架构修改过好多参数,直接会影响实验结果

server3安装nginx:

yum install gcc pcre-devel openssl-devel -y 安装依赖性软件

[root@server3 nginx-1.20.2]# ./configure --with-http_ssl_module

[root@server3 nginx-1.20.2]# make && make install

安装好之后,创建软连接

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/

vim /usr/local/nginx/conf/nginx.conf 如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值