本文转载自缤纷世界的微博
1.文件下载
http://pan.baidu.com/s/1qW9DHYc
下载文件为--mysql_udf_redis.tar.bz2
2.安装
创建解压文件存放目录
# cd soft
# mkdir mysql_udf_redis
解压文件到指定目录
# tar jxvf mysql_udf_redis.tar.bz2 -C mysql_udf_redis
# cd mysql_udf_redis
# gcc -fPIC -Wall -I/usr/local/mysql/include/mysql -I. -shared udf_redis.c cJSON.c -o udf_redis.so -- 文件路劲以实际存在路劲为准# cp udf_redis.so/usr/local/mysql/lib/plugin/ -- 文件路劲以实际存在路劲为准
3.执行脚本
# /usr/local/mysql/bin/mysql -u root -p < redis.sql -- 如果不需要触发器功能,可以把脚本中触发器相关代码注掉。
实际生成函数只需要以下代码
DROP FUNCTION IF EXISTS `redis_connect`;
DROP FUNCTION IF EXISTS `redis_close`;
DROP FUNCTION IF EXISTS `redis_put`;
DROP FUNCTION IF EXISTS `redis_set`;
DROP FUNCTION IF EXISTS `redis_delete`;
DROP FUNCTION IF EXISTS `redis_incrBy`;
DROP FUNCTION IF EXISTS `redis_incr`;
DROP FUNCTION IF EXISTS `redis_decrBy`;
DROP FUNCTION IF EXISTS `redis_decr`;
DROP FUNCTION IF EXISTS `redis_decr`;
DROP FUNCTION IF EXISTS `redis_lPush`;
DROP FUNCTION IF EXISTS `redis_rPush`;
DROP FUNCTION IF EXISTS `redis_pipe`;
DROP FUNCTION IF EXISTS `json_object`;
create function json_object returns string soname 'udf_redis.so';
create function redis_pipe returns string soname 'udf_redis.so';
create function redis_rPush returns string soname 'udf_redis.so';
create function redis_lPush returns string soname 'udf_redis.so';
create function redis_decr returns string soname 'udf_redis.so';
create function redis_decrBy returns string soname 'udf_redis.so';
create function redis_incr returns string soname 'udf_redis.so';
create function redis_incrBy returns string soname 'udf_redis.so';
create function redis_delete returns string soname 'udf_redis.so';
create function redis_set returns string soname 'udf_redis.so';
create function redis_close returns string soname 'udf_redis.so';
create function redis_connect returns string soname 'udf_redis.so';
4使用SELECT redis_connect('10.10.3.211',6379); -- 以实际ip及端口修改
SELECT redis_set('myKey3','myValues3');
SELECT redis_pipe(CONCAT('set myKey1',' ','myValues1','\r\n','set myKey2',' ','myValues2','\r\n'));
如果不想返回,按以下修改SET @str_res = (select redis_set('myKey3','myValues3'))