让mysql有直接写redis能力
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能力的更多相关文章
- 利用多写Redis实现分布式锁原理与实现分析(转)
		利用多写Redis实现分布式锁原理与实现分析 一.关于分布式锁 关于分布式锁,可能绝大部分人都会或多或少涉及到. 我举二个例子:场景一:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能 ... 
- MySQL、MongoDB、Redis 数据库之间的区别
		NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ... 
- 借读:分布式锁和双写Redis
		本帖最后由 howtodown 于 2016-10-3 16:01 编辑问题导读1.为什么会产生分布式锁?2.使用分布式锁的方法有哪些?3.本文创造的分布式锁的双写Redis框架都包含哪些内容? ... 
- MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)
		MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ... 
- MySql、Mongodb和Redis的区别
		NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ... 
- MySQL、MongoDB、Redis数据库Docker镜像制作
		MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ... 
- 从零开始写redis客户端(deerlet-redis-client)之路——第一个纠结很久的问题,restore引发的血案
		引言 正如之前的一篇博文,LZ最近正在从零开始写一个redis的客户端,主要目的是为了更加深入的了解redis,当然了,LZ也希望deerlet客户端有一天能有一席之地.在写的过程当中,LZ遇到了一个 ... 
- 在mysql中如何写注释语句
		//在mysql中如何写注释语句 mysql; # 这个注释直到该行结束 mysql; -- 这个注释直到该行结束 mysql ; mysql+ /* 这是一个 多行注释的形式 */ ; 
- 3类数据库的联动:mysql、mongodb、redis
		3类数据库的联动:mysql.mongodb.redis from pymysql import * from pymongo import * from redis import * class M ... 
随机推荐
- ajax实例1
			前台: function getDetail(index){ $.post("<%=request.getContextPath() %>/member/dbcenter!get ... 
- OpenCv,EmguCv及.net之间的互动(The Interaction of OpenCv, EmguCv AND .net)
			http://www.cnblogs.com/xrwang/archive/2010/01/26/TheInteractionOfOpenCv-EmguCvANDDotNet.html 前言 在.ne ... 
- git 提交代码的流程
			[root@ok-T IT-DOC]# ls hx-海星-wifi.rd web收藏.txt [root@ok-T IT-DOC]# git status -s ?? "web\346\22 ... 
- Redis不同数据类型的的数据结构实现
			我们知道Redis支持五种数据类型, 分别是字符串.哈希表(map).列表(list).集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据结构实也是不一样的. >>Re ... 
- [JavaCore] 微信手机浏览器版本判断
			公司要做微支付,微信浏览器版本要大于5 package com.garinzhang.web.weixin; import org.apache.commons.lang.StringUtils; i ... 
- [JavaCore] 不错的Java基础学习资料-持续更新
			容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ... 
- 报错: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 ... 
- C语言基本点初探
			1,对于int a=10++;此语句错误,为什么呢,对于i++来说,i是一个变量,是把i加1然后赋值给i,然而10不是一个变量所以无法执行加加的语法; 2,运算符的优先级: 赋值运算符<逻辑运算 ... 
- DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等
			DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ... 
- Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)
			来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架 ... 
