1、文件包下载

http://pan.baidu.com/s/1qW9DHYc

2、安装

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、生成函数

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',);
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'))

让mysql有直接写redis能力的更多相关文章

  1. 利用多写Redis实现分布式锁原理与实现分析(转)

    利用多写Redis实现分布式锁原理与实现分析   一.关于分布式锁 关于分布式锁,可能绝大部分人都会或多或少涉及到. 我举二个例子:场景一:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能 ...

  2. MySQL、MongoDB、Redis 数据库之间的区别

    NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...

  3. 借读:分布式锁和双写Redis

      本帖最后由 howtodown 于 2016-10-3 16:01 编辑问题导读1.为什么会产生分布式锁?2.使用分布式锁的方法有哪些?3.本文创造的分布式锁的双写Redis框架都包含哪些内容? ...

  4. MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  5. MySql、Mongodb和Redis的区别

    NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...

  6. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

  7. 从零开始写redis客户端(deerlet-redis-client)之路——第一个纠结很久的问题,restore引发的血案

    引言 正如之前的一篇博文,LZ最近正在从零开始写一个redis的客户端,主要目的是为了更加深入的了解redis,当然了,LZ也希望deerlet客户端有一天能有一席之地.在写的过程当中,LZ遇到了一个 ...

  8. 在mysql中如何写注释语句

    //在mysql中如何写注释语句 mysql; # 这个注释直到该行结束 mysql; -- 这个注释直到该行结束 mysql ; mysql+ /* 这是一个 多行注释的形式 */ ;

  9. 3类数据库的联动:mysql、mongodb、redis

    3类数据库的联动:mysql.mongodb.redis from pymysql import * from pymongo import * from redis import * class M ...

随机推荐

  1. ajax实例1

    前台: function getDetail(index){ $.post("<%=request.getContextPath() %>/member/dbcenter!get ...

  2. OpenCv,EmguCv及.net之间的互动(The Interaction of OpenCv, EmguCv AND .net)

    http://www.cnblogs.com/xrwang/archive/2010/01/26/TheInteractionOfOpenCv-EmguCvANDDotNet.html 前言 在.ne ...

  3. git 提交代码的流程

    [root@ok-T IT-DOC]# ls hx-海星-wifi.rd web收藏.txt [root@ok-T IT-DOC]# git status -s ?? "web\346\22 ...

  4. Redis不同数据类型的的数据结构实现

    我们知道Redis支持五种数据类型, 分别是字符串.哈希表(map).列表(list).集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据结构实也是不一样的. >>Re ...

  5. [JavaCore] 微信手机浏览器版本判断

    公司要做微支付,微信浏览器版本要大于5 package com.garinzhang.web.weixin; import org.apache.commons.lang.StringUtils; i ...

  6. [JavaCore] 不错的Java基础学习资料-持续更新

    容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ...

  7. 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost

    执行如下命令报错 mysql -uroot -h${hostIp} -p Enter password:********* ERROR (HY000): Host '$hostIp' is not a ...

  8. C语言基本点初探

    1,对于int a=10++;此语句错误,为什么呢,对于i++来说,i是一个变量,是把i加1然后赋值给i,然而10不是一个变量所以无法执行加加的语法; 2,运算符的优先级: 赋值运算符<逻辑运算 ...

  9. DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等

    DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...

  10. Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)

    来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架 ...