mysql-使用UDFs对memcache进行操作

上一篇 / 下一篇  2016-06-08 08:57:51 / 个人分类:Mysql

UDFs是User Defined Functions的缩写,表示MySQL的用户定义函数,应用程序可以利用这些函数从MySQL 5.0以上版本的数据库中访问Memcached写入或者获取的数据。
此外,MySQL从5.1版本开始支持触发器,从而可以在触发器中使用UDFs直接更新Mcmcached的内容,这种方式降低了应用程序设计和编写的复杂性。

安装UDFs需要在数据库服务器上安装两个包,分别是libmemcached和memcached_functions_mysql


libmemcached下载地址:https://launchpad.net/libmemcached/
memcached_functions_mysql下载地址:https://launchpad.net/memcached-udfs/+milestones


安装成功后,登录mysql,可以使用命令查看UDFs:
PS:示例为1.1版本的memcached_functions_mysql结果;不同版本支持的函数不同。

mysql>select * from mysql.func;         
+------------------------------+-----+---------------------------------+----------+
| name                         | ret | dl                              | type     |
+------------------------------+-----+---------------------------------+----------+
| memc_add                     |   2 | libmemcached_functions_mysql.so | function |
| memc_add_by_key              |   2 | libmemcached_functions_mysql.so | function |
| memc_servers_set             |   2 | libmemcached_functions_mysql.so | function |
| memc_server_count            |   2 | libmemcached_functions_mysql.so | function |
| memc_set                     |   2 | libmemcached_functions_mysql.so | function |
| memc_set_by_key              |   2 | libmemcached_functions_mysql.so | function |
| memc_cas                     |   2 | libmemcached_functions_mysql.so | function |
| memc_cas_by_key              |   2 | libmemcached_functions_mysql.so | function |
| memc_get                     |   0 | libmemcached_functions_mysql.so | function |
| memc_get_by_key              |   0 | libmemcached_functions_mysql.so | function |
| memc_get_cas                 |   2 | libmemcached_functions_mysql.so | function |
| memc_get_cas_by_key          |   2 | libmemcached_functions_mysql.so | function |
| memc_delete                  |   2 | libmemcached_functions_mysql.so | function |
| memc_delete_by_key           |   2 | libmemcached_functions_mysql.so | function |
| memc_append                  |   2 | libmemcached_functions_mysql.so | function |
| memc_append_by_key           |   2 | libmemcached_functions_mysql.so | function |
| memc_prepend                 |   2 | libmemcached_functions_mysql.so | function |
| memc_prepend_by_key          |   2 | libmemcached_functions_mysql.so | function |
| memc_increment               |   2 | libmemcached_functions_mysql.so | function |
| memc_decrement               |   2 | libmemcached_functions_mysql.so | function |
| memc_replace                 |   2 | libmemcached_functions_mysql.so | function |
| memc_replace_by_key          |   2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_set    |   2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_get    |   0 | libmemcached_functions_mysql.so | function |
| memc_behavior_set            |   2 | libmemcached_functions_mysql.so | function |
| memc_behavior_get            |   0 | libmemcached_functions_mysql.so | function |
| memc_list_behaviors          |   0 | libmemcached_functions_mysql.so | function |
| memc_list_hash_types         |   0 | libmemcached_functions_mysql.so | function |
| memc_list_distribution_types |   0 | libmemcached_functions_mysql.so | function |
| memc_udf_version             |   0 | libmemcached_functions_mysql.so | function |
| memc_libmemcached_version    |   0 | libmemcached_functions_mysql.so | function |
| memc_stats                   |   0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_keys           |   0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_value          |   0 | libmemcached_functions_mysql.so | function |
+------------------------------+-----+---------------------------------+----------+
34 rows in set (0.00 sec)


注意:
memcached_functions_mysql在V1.0以前的版本,函数返回值,默认0表示成功,1表示失败;
但在V1.0开始,修改了返回值,0表示失败,1表示成功;

见:
https://launchpad.net/memcached-udfs/+milestone/version-1.0
Changelog
1.0 Thursday, July 30, 2009 12:00:00 EST 2009
 * Fixed issue of setting NULLs with user-defined variables (Thanks to
 Jean-Jacques Moortgat @ aol dot com !)
 * Fixed issue of obtaining a NULL value FROM memcached
 * All set functions now return 0 (failure) or 1 (success)
 * Other cleanups
 * More tests

TAG: 使用 memcache MemCache MySQL mysql UDFs 操作

 

评分:0

我来说两句

Open Toolbar