Memcached Functions for MySQL同步更新MySQL跟Memcached

  • 内容
  • 评论
  • 相关

Memcached Functions for mysql同步更新MySQL和Memcached

使用Memcached Functions for MySQL同步更新MySQL和Memcached

使用MySQL + Memcached进行Web已经是居家旅行之必备良药了。常规使用方式是依靠应用程序进行MySQL和Memcached之间的数据同步:首先从Memcached中读取,如果不存在则从MySQL中读取然后再写入到Memcached中。这种方式在中低流量访问压力下已经足够了,现在MySQL和Memcached的性能也是相当的不错。

这种方式的代价是应用程序自身必须自己来进行MySQL和Memcached之间的数据同步,当cache不存在时,client需要读MySQL,写cache,增加了逻辑复杂度和读取的响应时间。

使用MySQL的UDF功能,可以达到当MySQL的上的数据更新时,由MySQL把数据更新到Memcached上,如此client只需要读cache和读db就可以,不需要进行cache的写入操作。

UDF:User-Defined Function. 开发者可以对MySQL Server进行扩充,给MySQL Server增加自己特殊的功能。所有增加的功能都是通过一个简单的函数来实现。比如我们可以增加一个foo()方法,该方法输出“foo bar”的字符串。当把此方法增加到MySQL Server中后,该方法的使用方式就和MySQL Server内嵌的方法完全一样了。通过此种方式,我们能够完成我们想要的任意功能。

Memcached Functions for MySQL就是通过UDF方式可增加到MySQL Server中的一系列方法。如

?[Copy to clipboard]View Code C
1 2 3 4 

欢迎大家阅读《Memcached Functions for MySQL同步更新MySQL跟Memcached》,跪求各位点评,by 搞代码

memc_servers_set() memc_set(), memc_set_by_key() memc_get(), memc_get_by_key() memc_delete(), memc_delete_by_key()

通过在触发器中使用这些方法,我们就可以实现当db的数据被更新时,让触发器调用这些方法,把数据同步更新到memcached中。

不过此种方式也有它的缺陷:它需要memcached一直处于可用的状态,当memcached宕机或者重启的时候,需要由额外的脚本对memcached进行数据的初始化。所以也并不是一个很理想的解决方式。

Memcached Functions for MySQL同步更新MySQL跟Memcached

memcache, mysql, UDF

原创文章,转载请注明: 转载自搞代码

本文链接地址: Memcached Functions for MySQL同步更新MySQL跟Memcached

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

1条评论
  1. Gravatar 头像

    来了 回复

    请问有这个Memcached Functions for MySQL使用的说明文档吗

发表评论

电子邮件地址不会被公开。 必填项已用*标注