将MySQL数据映射到Memcached中

差不多在一年前,写过一篇文章介绍将MySQL数据映射到Memcached,当时MySQL和Memcached Functions for MySQL都还不够成熟,时过一年,Memcached Functions for MySQL升级到了0.8版本,而MySQL也发布了GA版本,加上很多朋友反应前一篇文章中的实现他们因种种原因没能成功,于是便有了这篇文章,就当是上一篇文章的升级版本吧。

测试环境在Linux下进行,版本系统为CentOS5.
以下为相关软件,包括其版本和下载地址:

mysql-5.1.30 下载
memcached-1.2.6 下载
libevent-1.4.7-stable 下载
memcached_functions_mysql-0.8 下载
libmemcached-0.26 下载


编译安装MySQL,安装因个人细好而定,省略许多与测试无关的编译细节及参数。

 

 


省略列出安装memcached和libevent的相关命令,具体可按照实际情况安装,测试时我将libevent默认安装,memcached安装于/usr/local/memcached目录下。
启动memcached.

 

 


编译安装libmemcache.

 

 

 

 

编译安装Memcache UDFs for MySQL.

 

 

 

 


编译完成后将编译好的库文件复制到mysql的插件目录下,以便于加载使用。

 

 

 

进入memcached_functions_mysql的源码目录,在目录下有相关添加UDF的SQL文件用于初始化。

 

 

注:如果对这些UDFs不熟悉或者不懂,可进行源码目录参看README,里边有相应的说明。

 

 

 

至此,相关软件的编译和安装完成,进行测试,我们要达到的目的是当MySQL有新记录插入时,同时插入到Memcached中,当记录更新时同步更新Memcached中的记录,删除时同时也删除Memcached相关的记录,为此创建三个触发器来实现,如果对MySQL的触发程序不熟悉可以参考MySQL手册第21章,下面SQL中的memcached为需要操作的表名,SQL如下:

 

 

 

 

 

MySQL操作相关的记录:

 

 

 

 

 

Memcache查看时的记录:

 

 

 

 

 

 

至此,我们基本实现的将MySQL的数据同步到Memcached中,性能暂时还没有测试,当然上面只是简单的实现的数据映射的功能,如果在实现的生产环境中,则需要考虑名字空间,高可靠性的问题,这些都是可以通过数据库名-表名-关键字的方面能达到KEY唯一的目的,而高可靠性则是一个比较大的问题。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值