设为首页 收藏本站
查看: 1088|回复: 0

[经验分享] Redis+mysql+NGINX+PHP-11223559

[复制链接]

尚未签到

发表于 2018-9-28 10:46:23 | 显示全部楼层 |阅读模式
一  Redis
1  Redis 简介
  Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
  Redis 与其他 key - value 缓存产品有以下三个特点:
  Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  Redis支持数据的备份,即master-slave模式的数据备份。
2 Redis 优势
  性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
3  Redis与其他key-value存储比较
  Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
二  实验环境:
  软件下载地址:
  链接:https://pan.baidu.com/s/1VJ91A6pCLqDfbzsL2OPyXA
  密码:bu2x
DSC0000.jpg

1 软件的安装
1 安装php并修改时区
DSC0001.jpg

DSC0002.jpg

DSC0003.jpg

DSC0004.jpg

  查看其是否添加了mysql模块
DSC0005.jpg

2 安装和配置NGINX模块
DSC0006.jpg

DSC0007.jpg

DSC0008.jpg

DSC0009.jpg

DSC00010.jpg

  添加PHP主页:
DSC00011.jpg

DSC00012.jpg

  查看:
DSC00013.jpg

3 PHP上加载redis相关的模块:
DSC00014.jpg

DSC00015.jpg

DSC00016.jpg

DSC00017.jpg

DSC00018.jpg

DSC00019.jpg

DSC00020.jpg

DSC00021.jpg

DSC00022.jpg

DSC00023.jpg

DSC00024.jpg

4 server2上安装redis
DSC00025.jpg

DSC00026.jpg

DSC00027.jpg

DSC00028.jpg

DSC00029.jpg

DSC00030.jpg

DSC00031.jpg

DSC00032.jpg

2 配置
1 server3 端配置链接redis和mysql
DSC00033.jpg

2 server 1 端mysql   端配置:
DSC00034.jpg

DSC00035.jpg

DSC00036.jpg

3  测试:
DSC00037.jpg

DSC00038.jpg

  后端数据库修改数据:
DSC00039.jpg

DSC00040.jpg

  前端查看:
DSC00041.jpg

  没有变化,由于没有触发更新机制,因此没有反应:
3  配置触发更新:
  gearman 架构图:
DSC00042.jpg

  Gearman 是一个支持分布式的任务分发框架:
  Gearman Job Server:Gearman 核心程序,需要编译安装并以守护进程形式运行在后台。
  Gearman Client:可以理解为任务的请求者。
  Gearman Worker:任务的真正执行者,一般需要自己编写具体逻辑并通过守护进程方式
  运行,Gearman Worker 接收到Gearman Client 传递的任务内容后,会按顺序处理。
  大致流程:
  下面要编写的mysql 触发器,就相当于Gearman 的客户端。修改表,插入表就相当于直接
  下发任务。然后通过lib_mysqludf_json UDF 库函数将关系数据映射为JSON 格式,然后
  在通过gearman-mysql-udf 插件将任务加入到Gearman 的任务队列中,最后通过
  redis_worker.php,也就是Gearman 的worker 端来完成redis 数据库的更新。
  一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。
  Client:请求的发起者,可以是 C,PHP,Perl,MySQL UDF 等等。
  Job:请求的调度者,用来负责协调把 Client 发出的请求转发给合适的 Work。
  Worker:请求的处理者,可以是 C,PHP,Perl 等等。
  因为 Client,Worker 并不限制用一样的语言,所以有利于多语言多系统之间的集成。
  甚至我们通过增加更多的 Worker,可以很方便的实现应用程序的分布式负载均衡架构。
1  gearmand 的安装:
  负责接收前端gearman client 的数据,以守护进行的形式存在
DSC00043.jpg

DSC00044.jpg

2 gearman 安装,用于php的插件,
DSC00045.jpg

DSC00046.jpg

DSC00047.jpg

DSC00048.jpg

DSC00049.jpg

  查看模块是否安装成功
DSC00050.jpg

3  配置PHP链接Redis:
DSC00051.jpg

DSC00052.jpg

  通过指定redis服务器IP地址和端口的方式进行指定
DSC00053.jpg

  打入后台
DSC00054.jpg

  将配置文件发往mysql数据所在的server1
DSC00055.jpg

4  安装mysql相关配置包
1  lib_mysqludf_json UDF库函数将关系数据映射为JSON 格式。通常,数据库中的数据映
  射为JSON 格式,是通过程序来转换的。
DSC00056.jpg

DSC00057.jpg

DSC00058.jpg

DSC00059.jpg

DSC00060.jpg

DSC00061.jpg

2 安装gearman-mysql-udf:
  这个插件是用来管理调用Gearman 的分布式的队列。
DSC00062.jpg

DSC00063.jpg

5  修改为创建触发器模板
DSC00064.jpg

DSC00065.jpg

6  注册UDF函数:
DSC00066.jpg

7  创建触发器并查看其状态
DSC00067.jpg

8 服务端进行数据插入测试
DSC00068.jpg

  客户端查看是否插入成功
DSC00069.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-603175-1-1.html 上篇帖子: mysql merge报错ERROR 1168 下篇帖子: 实现JSP通过Tomcat连接MySQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表