C扩展Hiredis调用Redis并整合到MySQL插件中

一、使用C/C++为Mysql开发扩展函数

1、安装mysql开发包:mysql-devel

sudo apt-get install libmysqld-dev  # ubuntu
yum install mysql-devel             # centos

默认安装在 /usr/include/mysql/ 中,包含了 mysql 插件开发所需的头文件

2、最简单的扩展函数

#include <stdio.h>
#include "mysql.h"
extern "C" long long 函数名(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)  
{  
    // return ....
} 
// 初始化函数
extern "C" my_bool 函数名_init(UDF_INIT *initid, UDF_ARGS *args, char *message)  
{  
    return 0;
}

程序返回类型和 mysql 对应:

Varchar    <->    char *
INTEGER    <->    long long
REAL       <->    double

3、编译(使用g++)

g++ -I /usr/include/mysql/ -shared -fPIC -o xxx.so xxx.cpp

-I 代表 include的头文件的位置

4、插件部署

cp xxx.so /usr/lib/mysql/plugin/

5、在 Mysql 中创建函数

CREATE FUNCTION 函数名 RETURNS 返回值 SONAME 'xxx.so';

若想删除,可以使用 Drop function 函数名;

二、使用C/C++扩展Hiredis和Redis交互

1、下载编译 Hiredis

git clone https://github.com/redis/hiredis.git

然后进入 Hiredis 目录:

make
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值