mysql 触发器写缓存_mysql 触发器 Varnish:高速http缓存 varnish cdn 推送平台

本文介绍了如何通过MySQL触发器实现在数据修改后同步更新到Redis,使用Gearman作为任务分发框架,配合lib_mysqludf_json库将关系数据转化为JSON格式。此外,还讲解了Varnish的高速HTTP缓存机制,包括手动清除缓存、域名负载均衡和CDN推送平台的配置方法。
摘要由CSDN通过智能技术生成

sendfile(数据直接从 kernal的buffer出去)适合小文件

Aio(nginx)全异步(与事件驱动io的区别是:数据会到达mem才会通知,其实也不需要通知 可以直接返回给客户端) 支持:mmap event drive(处理大文件)

上一回说到,在数据库修改后,redis里面的数据不能做到自动更新,必须手动删除更改过的数据 根据以上问题我们做出如下改进:

所以接下来就要通过 mysql 触发器将改变的数据同步到 redis 中

配置 gearman 实现数据同步

Gearman是一个支持分布式的任务分发框架:

Gearman Job Server: Gearman 核心程序,需要编译安装并以守护进程形式运行在后台。

Gearman Client:可以理解为任务的请求者。

Gearman Worker:任务的真正执行者,一般需要自己编写具体逻辑并通过守护进程方式

运行,Gearman Worker 接收到 GearmanClient 传递的任务内容后,会按顺序处理。

大致流程:下面要编写的 mysql 触发器,就相当于 Gearman 的客户端。修改表,插入表就相当于直接

下发任务。然后通过 lib_mysqludf_json UDF 库函数将关系数据映射为 JSON 格式,然后

在通过 gearman-mysql-udf 插件将任务加入到Gearman 的任务队列中,最后通过

redis_worker.php,也就是 Gearman 的worker 端来完成 redis 数据库的更新。

dd1:

cd /root/redis

安装gearman软件包:

yum install gearmand-1.1.8-2.el6.x86_64.rpm libgearman-1.1.8-2.el6.x86_64.rpm

/etc/init.d/php-fpm start

netstat -antlpe2b7536a2e318926c3893408b27b87f19.pngdd1:安装php的gearman扩展

tar zxf gearman-1.1.2.tgz

cd gearman-1.1.2

phpizerpm -ivh libgearman-devel-1.1.8-2.el6.x86_64.rpmlibevent-devel-1.4.13-4.el6.x86_64.rpm libevent-doc-1.4.13-4.el6.noarch.rpmlibevent-headers-1.4.13-4.el6.noarch.rpm

./configure

make && make install

cd /etc/php.d/

cp mysql.ini gearman.ini

vim gearman.ini

1667ce76ea77e2ccd93aacad24cf09af.png/etc/init.d/php-fpm restart查看php已经安装过的扩展:

php -m | grep gearman

php -m | grep mysql

php -m | grep redis

f99df31e887321db9e644e04db0ab104.pngcd redis/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值