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


Posted in PHP onOctober 11, 2009

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的源码目录,有兴趣可以试试

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');
PHP 相关文章推荐
非常好的php目录导航文件代码
Oct 09 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
php自动给网址加上链接的方法
Jun 02 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
微信接口生成带参数的二维码
Jul 31 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 #PHP
PHP 身份验证方面的函数
Oct 11 #PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 #PHP
关于页面优化和伪静态
Oct 11 #PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 #PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 #PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 #PHP
You might like
PHP4.04简明安装
2006/10/09 PHP
php查看session内容的函数
2008/08/27 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
完美解决PHP中文乱码
2009/11/26 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
php异常处理方法实例汇总
2015/06/24 PHP
PHP线程的内存回收问题
2016/07/08 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
django ajax发送post请求的两种方法
2020/01/05 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
大学生求职简历的自我评价范文
2013/10/12 职场文书
初中生物教学反思
2014/01/10 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
volatile保证可见性及重排序方法
2022/08/05 Java/Android