仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 508|回复: 7
打印 上一主题 下一主题

[学习教程] 发一篇教你利用MySQL触发器主动更新memcache

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:13:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。MySQL5.1撑持触发器和自界说函数接口(UDF)的特征,假如共同libmemcache和MemcachedFunctionsforMySQL,就可以够完成memcache的主动更新。复杂纪录一下安装测试步骤。

安装步骤
安装memcached,这个步骤很复杂,到处可见
安装mysqlserver5.1RC,安装举措也很公共,不空话了
编译libmemcached,解压后安装便可./configure;make;makeinstall
编译MemcachedFunctionsforMySQL,在http://download.tangent.org/找一个最新的版本下载就是,./configure--with-mysql=/usr/local/mysql/bin/mysql_config--libdir=/usr/local/mysql/lib/mysql/
make
makeinstall
接上去有两个举措让MemcachedFunctionsforMySQL在mysql中失效
在mysql的shell中实行memcached_functions_mysql源码目次下的sql/install_functions.sql,这会把memcachefunction作为UDF到场mysql
运转memcached_functions_mysql源码目次下的utils/install.pl,这是一个perl剧本,感化同上一条
测试memcachefunction
以下测试剧本摘自memcached_functions_mysql的源码目次,有乐趣能够尝尝

PLAINTEXTCODE:droptableifexistsurls;
createtableurls(
idint(3)notnull,
urlvarchar(64)notnulldefault,
PRimarykey(id)
);

selectmemc_servers_set(localhost:11211);
selectmemc_set(urls:sequence,0);

DELIMITER|

DROPTRIGGERIFEXISTSurl_mem_insert;
CREATETRIGGERurl_mem_insert
BEFOREINSERTONurls
FOREACHROWBEGIN
SETNEW.id=memc_increment(urls:sequence);
SET@mm=memc_set(concat(urls:,NEW.id),NEW.url);
END|

DELIMITER;

insertintourls(url)values(http://google.com);
insertintourls(url)values(http://www.ooso.net/index.php);
insertintourls(url)values(http://www.devdao.net/);
insertintourls(url)values(http://slashdot.org);
insertintourls(url)values(http://mysql.com);
select*fromurls;

selectmemc_get(urls:1);
selectmemc_get(urls:2);
selectmemc_get(urls:3);
selectmemc_get(urls:4);
selectmemc_get(urls:5);
这些过程被存储和运行在数据库服务器上,以减少在客户端的处理过程,从而最大限度地提高了处理能力,因为通常情况下数据库服务器会运行地更快。存储过程并不是MySQL独有的功能,但是这个最近新增加的功能使得这个数据库比以前更具吸引力了。
柔情似水 该用户已被删除
沙发
发表于 2015-1-24 16:01:32 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
爱飞 该用户已被删除
板凳
发表于 2015-2-2 10:45:12 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
蒙在股里 该用户已被删除
地板
发表于 2015-2-7 18:19:09 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
老尸 该用户已被删除
5#
发表于 2015-2-22 22:56:08 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
乐观 该用户已被删除
6#
发表于 2015-3-7 04:28:11 | 只看该作者
总感觉自己还是不会SQL
简单生活 该用户已被删除
7#
发表于 2015-3-14 11:59:00 | 只看该作者
呵呵,这就是偶想说的
不帅 该用户已被删除
8#
发表于 2015-3-21 07:06:26 | 只看该作者
发几份SQL课件,以飨阅者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表