|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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独有的功能,但是这个最近新增加的功能使得这个数据库比以前更具吸引力了。 |
|