memcache function mysql

发布时间:2013-12-08 08:00:01 阅读:1233次

注意,mysql一旦宕机,那么mysql重启后,

记住要连接到memcache, mysql> select memc_servers_set('127.0.0.1:12000'); 

1、先要配置好memcache 

见文章http://test115.blog.163.com/blog/static/2330850420132111232622/
 
2、接着要配置libmemcached
 
 2199  cd libmemcached
 2201  sudo ./configure --with-memcached=/usr/local/bin/memcached --prefix=/usr/local/libmemcached
 2204  sudo make
 2205  sudo make install
如果报错,apt-get install g++ 
 
3、再接着配置memcache function mysql
root@test2007:/home/phpjx/# pwd
/home/phpjx
root@test2007:/home/phpjx# cd memcached_functions_mysql-0.9
root@test2007:/home/phpjx/# pwd
/home/phpjx/memcached_functions_mysql-0.9
sudo ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --with-libmemcached=/usr/local/libmemcached/ --prefix=/usr/local/memcache_mysql
sudo make
sudo make install
sudo cp /usr/local/memcache_mysql/lib/libmemcached_functions* /usr/local/mysql/lib/plugin/
 
接下来有两个办法让Memcached Functions for MySQL在mysql中生效
在mysql的shell中执行memcached_functions_mysql源码目录下的sql/install_functions.sql,这会把memcache function作为UDF加入mysql
 
root@test2007:/home/phpjx/# cd memcached_functions_mysql-0.9
root@test2007:/home/phpjx/memcached_functions_mysql-0.9/#cd sql
root@test2007:/home/phpjx/memcached_functions_mysql-0.9/sql/#mysql -uroot -p123456
mysql>source install_functions.sql
ok
 
运行memcached_functions_mysql源码目录下的utils/install.pl,这是一个perl脚本,作用同上一条
 
测试memcache function
 
 
51 1、连接mysql,使用数据库 mysql -uroot -p后 use databasename
检查安装是否成功
mysql> select name,dl from mysql.func;
+------------------------------+---------------------------------+
| name 
                        | dl                              |
+------------------------------+---------------------------------+
| memc_add                     | libmemcached_functions_mysql.so |
| memc_add_by_key              | libmemcached_functions_mysql.so |
| memc_servers_set             | libmemcached_functions_mysql.so |
| memc_server_count            | libmemcached_functions_mysql.so |
| memc_set                     | libmemcached_functions_mysql.so |
| memc_set_by_key              | libmemcached_functions_mysql.so |
| memc_cas                     | libmemcached_functions_mysql.so |
| memc_cas_by_key              | libmemcached_functions_mysql.so |
| memc_get                     | libmemcached_functions_mysql.so |
| memc_get_by_key              | libmemcached_functions_mysql.so |
| memc_delete                  | libmemcached_functions_mysql.so |
| memc_delete_by_key           | libmemcached_functions_mysql.so |
| memc_append                  | libmemcached_functions_mysql.so |
| memc_append_by_key           | libmemcached_functions_mysql.so |
| memc_prepend                 | libmemcached_functions_mysql.so |
| memc_prepend_by_key          | libmemcached_functions_mysql.so |
| memc_increment               | libmemcached_functions_mysql.so |
| memc_decrement               | libmemcached_functions_mysql.so |
| memc_replace                 | libmemcached_functions_mysql.so |
| memc_replace_by_key          | libmemcached_functions_mysql.so |
| memc_servers_behavior_set    | libmemcached_functions_mysql.so |
| memc_servers_behavior_get    | libmemcached_functions_mysql.so |
| memc_behavior_set            | libmemcached_functions_mysql.so |
| memc_behavior_get            | libmemcached_functions_mysql.so |
| memc_list_behaviors          | libmemcached_functions_mysql.so |
| memc_list_hash_types         | libmemcached_functions_mysql.so |
| memc_list_distribution_types | libmemcached_functions_mysql.so |
| memc_udf_version             | libmemcached_functions_mysql.so |
| memc_libmemcached_version    | libmemcached_functions_mysql.so |
| memc_stats                   | libmemcached_functions_mysql.so |
| memc_stat_get_keys           | libmemcached_functions_mysql.so |
| memc_stat_get_value          | libmemcached_functions_mysql.so |
+------------------------------+---------------------------------+
32 rows in set (0.00 sec)
 
 52 2、建立表 create table userinfo(id int primary key auto_increment,title varchar(50),content text);
 53 3、建立触发器
 54 create trigger sphinxtrigger before insert on userinfo for each row set @tmp =memc_set(NEW.id, NEW.content,60);
 55 4、连接memcache服务器 select memc_servers_set('127.0.0.1:12000');
 56 5、添加数据insert into userinfo(id,content) values(9,'nine');
 57 6、取值select memc_get(9)为nine
 58 7、一分钟后select memc_get(9)为null
 59 8、在更新sql的时候也更新memcache
 60 create trigger sphinxtriggerupdate before update on userinfo for each row set @tmp = memc_set(NEW.id, NEW.content,60);
 61 9、update userinfo set content='nine 9' where id=9;
 62 10、执行SQL后再输入select memc_get(9),则输出nine 9
 63 11、删除记录时更新memcache
 64 create trigger sphinxtriggerremove after delete on userinfo for each row set @tmp = memc_set(OLD.id, 'record has been removed.')    ;
 65 12、执行SQL,DELETE FROM userinfo WHERE id=9;
 66 13、再执行select memc_get(9),会发现输出record has been removed.
 67 14、THE END.

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:memcache function mysql 出自老鄢博客 | 欢迎分享