用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游戏编程25个脚本代码
Feb 08 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP程序员的技术成长规划
Mar 25 PHP
php 获取文件行数的方法总结
Oct 11 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
yii2 上传图片的示例代码
2018/11/02 PHP
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
Jquery性能优化详解
2014/05/15 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python2.7的编码问题与解决方法
2016/10/04 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
如何基于Python实现数字类型转换
2020/02/07 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
大学生演讲稿范文
2014/01/11 职场文书
家长通知书教师评语
2014/04/17 职场文书
大学生安全责任书
2014/07/25 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
小学语文复习计划
2015/01/19 职场文书
毕业论文致谢信
2015/05/14 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android