快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

【redis比mysql快多少】

请联系QQ:1793040 索取软件

本文主要介绍将Redis用作MySQL缓存服务器,并计划实现该目标。当客户端访问时,首先访问Redis。如果Redis中没有相应的数据,请从MySQL中读取并存储在Redis中。

主机系统环境的配置是RedHat Enterprise 6.5版本,使用三个主机,如下所示:

 

Redis作为MySQL缓存服务器,可以使用lnmp体系结构实现。

Redis作为MySQL缓存服务器的示意图如下:

当客户端的请求数据访问Nginx时,它将首先检查是否有来自Redis的所需数据,如果有,则直接返回。如果没有,则在数据库中提取数据,然后返回数据,并在返回时将数据再次写入Redis,以备下次使用。

整个过程是通过PHP实现的。实际上,可以根据实际需要通过PHP语言实现功能。

有Nginx,PHP,Redis和MySQL的配置。

Nginx配置

Nginx使用源代码进行编译和安装,然后在server2主机上安装,方法参考:http://blog.csdn.net/ass_assinator/article/details/77983210

编译和安装完成后,按如下所示修改配置文件:

 

配置后启动Nginx。

PHP配置

PHP已安装在server2主机上,并且与Nginx安装在同一主机上。可以使用源代码安装PHP,也可以使用rpm软件包直接安装PHP。

PHP源代码安装:http://blog.csdn.net/ass_assinator/article/details/78096183

为了方便起见,使用rpm安装方法。需要在PHP中安装的rpm软件包如下:

 

选择rpm软件包时,需要特别注意。 rpm软件包的版本必须与PHP版本相同。如果使用源代码安装PHP,则在编译PHP时仅安装rpm软件包而不添加参数。

编辑PHP测试页,然后查看网页上是否可用。

 

出现PHP信息页面,并且Nginx和PHP之间的连接成功。

安装PHP的redis扩展模块

Redis扩展模块下载网站为:https://github.com/owlient/phpredis

下载后,请按照以下步骤进行配置:

 

重新加载php-fpm后,phpredis扩展模块的安装完成。

Redis配置

安装在server3主机上的Redis安装和配置参考:http://blog.csdn.net/ass_assinator/article/details/78287023

无需配置,只需安装Redis,将配置文件中的绑定更改为” 0.0.0.0″,然后打开它即可。

MySQL配置

可以使用源代码安装MySQL,也可以在server4主机上安装系统自己的MySQL,源代码安装参考:http://blog.csdn.net/ass_assinator/article/details/78093890

启动MySQL之后,在MySQL中创建一个redis用户并对其进行授权。

 

在数据库中创建测试库,并创建测试表,并在其中写入数据,还可以使用以下方法直接导入数据库。

 

MySQL配置已完成。

用PHP编写测试页,并将其放在Nginx的默认发行目录中。代码如下,直接复制即可,但是您需要修改IP。

 

在此代码中,当客户端访问时,首先访问Redis。如果Redis有数据,则返回结果。如果Redis没有数据,则访问数据库并将访问结果写入Redis。

在浏览器中输入” http://172.25.31.2/test.php”以查看结果。

因为客户端首先访问Redis,所以只有Redis没有数据时才可以访问MySQL。问题之一是,如果数据库被修改,它将不会同步到Redis。修改前的数据显然是不合理的,因此需要数据数据同步。

修改数据库后:

 

浏览器访问的数据不会更改:

使用gearman在Redis和MySQL之间同步数据。在PHP端安装gearmand,即gearman服务器,并编写一个worker,worker是gearman任务的执行者。在MySQL端安装lib_mysqludf_json和gearman-mysql-udf,然后编写触发器。触发MySQL触发器时,json函数将数据转换为json格式,通过udf函数将其传递给Gearman服务器,然后worker将数据同步到Redis端。这样就完成了数据同步。

数据同步的配置分为以下步骤:

安装geraman软件包

安装Gearman所需的软件如下:

 

这些安装软件包可以从http://pkgs.org下载。

 

添加齿轮箱模块

在PHP中添加gearman模块,并且可以从php的官方网站http://pecl.php.net下载使用的扩展包。添加方法类似于添加redis模块。

 

安装lib_mysqludf_json

在MySQL server4上安装lib_mysqludf_json,下载地址:https://codeload.github.com/mysqludf/lib_mysqludf_json/zip/master

在安装之前,您需要先安装mysql-devel。方式如下:

 

输入MySQL并添加lib_mysqludf_json函数。

 

安装gearman-mysql-udf

在MySQL,server4和gearman-mysql-udf下载地址上安装gearman-mysql-udf:https://launchpadlibrarian.net/104246122/gearman-mysql-udf-0.6.tar.gz

所需的依赖项软件包为:libgearman,libgearman-devel,ibevent-devel,libevent-doc,libevent-headers。

 

输入MySQL并注册gearman-mysql-udf函数。

 

写入并导入MySQL触发器

编写MySQL的触发器,可以根据实际情况编写。 MySQL执行插入和修改时,将触发此处编写的触发器。

 

您可以使用命令mysql-e” SHOW TRIGGERS FROM test \\\\ G”来查看触发器。

写worker.php

与test.php类似,gearman的工作者端功能可以通过PHP实现。在这里,可以使用PHP语言,也可以根据实际情况用其他语言编写。

worker.php需要写在server2的Gearman端。编写如下,即可直接复制,只需修改IP。

 

在测试期间,在MySQL端server4上修改数据库,并检查它是否在Redis端server3或浏览器上同步。

修改数据库:

 

检查它是否在Redis端同步:

检查浏览器上的同步是否成功:

数据同步成功。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040