教你使用MySQL触发器自动更新Memcache

mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。

安装步骤

安装memcached,这个步骤很简单,随处可见。安装mysql server 5.1RC,安装办法也很大众,不废话 了。

编译libmemcached,解压后安装即可./configure; make; make install

编译Memcached Functions for MySQL,在http://download.tangent.org/找一个最新的版本下载就 是,./configure --with-mysql=/usr/local/mysql/bin/mysql_config -- libdir=/usr/local/mysql/lib/mysql/

make

make install

接下来有两个办法让Memcached Functions for MySQL在mysql中生效。

在mysql的shell中执行memcached_functions_mysql源码目录下的sql/install_functions.sql,这会 把memcache function作为UDF加入mysql。

运行memcached_functions_mysql源码目录下的utils/install.pl,这是一个perl脚本,作用同上一 条。

测试memcache function。

以下测试脚本摘自memcached_functions_mysql的源码目录,有兴趣可以试试。

PLAIN TEXTCODE: drop table if exists urls;
create table urls (
id int(3) not null,
url varchar(64) not null default '',
primary key (id)
);
select memc_servers_set('localhost:11211');
select memc_set('urls:sequence', 0);
DELIMITER |
DROP TRIGGER IF EXISTS url_mem_insert;
CREATE TRIGGER url_mem_insert
BEFORE INSERT ON urls
FOR EACH ROW BEGIN
SET NEW.id= memc_increment('urls:sequence');
SET @mm= memc_set(concat('urls:',NEW.id), NEW.url);
END |
DELIMITER ;
insert into urls (url) values ('http://google.com');
insert into urls (url) values ('http://www.ooso.net/index.php');
insert into urls (url) values ('http://www.ooso.net/');
insert into urls (url) values ('http://slashdot.org');
insert into urls (url) values ('http://mysql.com');
select * from urls;
select memc_get('urls:1');
select memc_get('urls:2');
select memc_get('urls:3');
select memc_get('urls:4');
select memc_get('urls:5');

时间: 2024-10-26 09:25:51

教你使用MySQL触发器自动更新Memcache的相关文章

用mysql触发器自动更新memcache的实现代码_php技巧

mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新.简单记录一下安装测试步骤. 安装步骤 安装memcached,这个步骤很简单,随处可见 安装mysql server 5.1RC,安装办法也很大众,不废话了 编译libmemcached,解压后安装即可./configure; make; make install 编译Memcached Functio

《高性能Linux服务器构建实战》——3.4节通过UDFs实现Memcached与MySQL的自动更新

3.4 通过UDFs实现Memcached与MySQL的自动更新 3.4.1 UDFs使用简介 UDFs是User Defined Functions的缩写,表示MySQL的用户定义函数,应用程序可以利用这些函数从MySQL 5.0以上版本的数据库中访问Memcached写入或者获取的数据.此外,MySQL从5.1版本开始支持触发器,从而可以在触发器中使用UDFs直接更新Memcached的内容,这种方式降低了应用程序设计和编写的复杂性.下面简单介绍UDFs的安装和使用. 安装UDFs需要在数据

MySQL timestamp自动更新时间

  通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值! 这样一来,就不是创建日期了,当作更新日期来使用比较好! 因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成! 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有

MySQL timestamp自动更新时间分享_Mysql

通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值! 这样一来,就不是创建日期了,当作更新日期来使用比较好! 因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成! 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录和修改现有记

教你织梦DEDE自动更新首页的办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是hacklei,本人玩DEDE时间不长, 才2个多月,DEDE程序现在使用的人很多.因为很好用很方便,即使是新手也能快速使用DEDE建站,下面我就为告诉大家织梦定时自动更新首页的方法. 如果网站主页使用了支持随机调用文章的CMS,如:dedecms,内容又是采集的,并且你没多少时间进行手动更新内容的话,但又想让百度喜欢你的网站,用

mysql触发器trigger操作memcache实例

对memcache的操作一般都是放程序里面去操作的,新增,更新,删除什么的.如果能利用mysql来对memcache进行操作,那就更好,代码端就会简单一点.但是利用mysql来操作memcache,比较适合实现简单的方式.下面说一下安装的过程和遇到的问题,在看安装过程的之前,我觉得应当先看一下,我安装时候所遇到的问题,这样你可以避免掉,少走一点弯路.一,安装所要的软件mysql5.1以前版本:http://downloads.mysql.com/archives/ libevent下载:wget

MySQL的源码安装及使用UDFs进行数据自动更新的教程_Mysql

MySQL的源码安装 1. 安装依赖组件 # yum install gcc gcc-c++ ncurses-devel perl -y 2. 安装cmake # wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz # tar zxvf cmake-2.8.12.tar.gz # cd cmake-2.8.12 # ./bootstrap # make && make install 3. 安装bison # wget http

mysql自动更新字段 时间触发

问题描述 mysql自动更新字段 时间触发 有个表table1 里面有个字段endtime state状态 现在希望一到endtime state自动更新为指定值 有没有做过类似的大神给指教下 解决方案 mysql 字段自动更新......答案就在这里:mysql 时间字段自动更新

如何禁止鲁大师自动更新软件?

  一个软件自动更新,虽然给我们的电脑使用提供了便利.但是有时候我们并不想升级,或者在对比完旧版会后悔升级.所以一般人都喜欢手动去升级.下面我们就以鲁大师为例.教大家如何禁止鲁大师自动更新软件?下面方法不仅对于鲁大师,对于多种软件都适用.一起来看看吧! 鲁大师自动升级方法 第一步: 运行鲁大师软件.然后点击右上角的设置按钮 ,选择设置选项,如图所示: 第二步: 在常规设置选项卡中,取消勾选检测到鲁大师有新版本的时候,自动更新的选项 ,然后点击右下角的设置按钮,如图所示: 温馨提示: 小编建议在经