| 導購 | 订阅 | 在线投稿
分享
 
 
 

教你使用MySQL觸發器自動更新memcache

來源:互聯網  2008-08-19 06:50:51  評論

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.devdao.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');

mysql 5.1支持觸發器以及自定義函數接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能夠實現memcache的自動更新。簡單記錄一下安裝測試步驟。 安裝步驟 安裝memcached,這個步驟很簡單,隨處可見 安裝mysql server 5.1RC,安裝辦法也很大衆,不廢話了 編譯libmemcached,解壓後安裝即可./configure; make; make install 編譯Memcached Functions for MySQL,在[url=http://download.tangent.org/]http://download.tangent.org/[/url]找一個最新的版本下載就是,./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.devdao.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');
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有