資料介紹
軟件簡介
MySQL-Redis
什么是 MySQL-Redis ?
MySQL-Redis?是一款可以在?MySQL?中操作?Redis?的一個UDF (MySQL 用戶自定義函數插件)
MySQL-Redis 可以操作 Redis 集群嗎?
可以的,?MySQL-Redis?可以操作單例或者集群?Redis,操作的唯一的區別就是?MySQL?函數不一樣而已
性能怎么樣?
性能這個取決于網絡, 實例操作 Redis 速度很快。因為使用 C 語言開發
使用場景 ?
可以使用在需要 Redis 和 MySQL 數據一致性的地方。
示例
SELECT RedisConnect("127.0.0.1", 6379); BEGIN; UPDATE books SET price = 10.5 WHERE id = 10; SELECT RedisRawCommand("SET id:10:price 10.5"); COMMIT; SELECT RedisConnectFree();
上面示例展示了,在事務中處理數據,達到?Redis?和?MySQL?數據一致性的解決辦法,當然也可以在觸發器中使用。
MySQL-Redis 函數
-
RedisConnect("127.0.0.1", 6379)
單例 Redis 連接,第二個參數可以省略,默認端口 6379
對應 SQL 代碼:
SELECT RedisConnect("127.0.0.1", 6379);
-
RedisClusterConnect
Redis 集群連接
對應 SQL 代碼:
SELECT RedisClusterConnect("127.0.0.1:6379,127.0.0.2:6379");
多個機器之間采用
,
隔開 -
RedisConnectFree
對應?RedisConnect() 的連接釋放
操作完成后,如果需要手動釋放,需要調用本方法,目前暫未實現連接池,后續版本實現
對應 SQL 代碼:
SELECT RedisConnectFree();
-
RedisClusterConnectFree
對應?RedisClusterConnect() 的連接釋放
操作完成后,如果需要手動釋放,需要調用本方法,目前暫未實現連接池,后續版本實現
使用方法:
SELECT RedisClusterConnectFree();
-
RedisSet
設置鍵值對的快捷方法
對應 SQL 代碼:
SELECT RedisSet("a", 1); -- 等同于 Redis中的語句: SET a 1
-
RedisClusterSet
設置鍵值對的集群方法方法,參數等同于 RedisSet 函數,見上面
-
RedisExecCommand
執行 Redis 語句,包含三個或者兩個參數,如下 SQL:
三個參數的 SQL 方法:
SELECT RedisExecCommand("SET", "a", 1);
兩個參數的 SQL 方法:
SELECT RedisExecCommand("SELECT", 1);
-
RedisClusterExecCommand
集群操作方法,參數等同于上面單例:RedisExecCommand
-
RedisRawCommand
執行 Redis 語句,由用戶提供一個完整的 Redis 語句
SQL 代碼如下:
SELECT RedisRawCommand("SET Hello World");
-
RedisClusterRawCommand
集群模式的?RedisClusterRawCommand?方法,參數等同于 單例的?RedisRawCommand
-
RedisListIndex
獲取 Redis List 數據結構的某一項,第一項表示 Redis 數據結構,第二項表示索引值,如:
SELECT RedisListIndex(RedisRawCommand("LRANGE score_lists 0 10"), 1);
-
RedisListJoin
將 Redis List 數據結構的所有項通過第二個參數合并為一個字符串,如:
SELECT RedisListJoin(RedisRawCommand("LRANGE score_lists 0 10"), "-"); // 假設 Redis List score_lists結構如下: // 0 1 2 // 那么合并結果: // 0-1-2
返回值
1:
RedisSET?、?RedisClusterSet?、RedisConnect?、RedisConnectFree?、?RedisClusterConnect?、?RedisClusterConnectFree?成功的情況下返回 1,否則 SQL 語句錯誤
2:
RedisExecCommand?、?RedisClusterExecCommand?、RedisRawCommand?、RedisClusterRawCommand、RedisListIndex?、RedisListJoin?返回字符串,具體如下:
-
OK
在執行 Redis SET 命令的時候返回 "OK" 表示成功,否則就表示錯誤信息
-
其他字符串
執行 GET 命令的時候 返回具體值
怎么安裝 ?
前提條件:
電腦安裝?Redis?、MySQL?(開發機器 MySQL 5.7.22)、hiredis-vip
準備好前提條件后,開始 MySQL-Redis 插件的編譯安裝過程
-
git clone 代碼庫
git clone https://gitee.com/josinli/mysql_redis.git
-
修改 CMakeLists.txt 文件,因為代碼庫采用 CMake 編譯系統:
cmake_minimum_required(VERSION 3.13) project(udf_str C) set(CMAKE_C_STANDARD 99) include_directories( . /usr/local/mysql/include/ # 把這行更改為您系統安裝mysql的頭文件目錄 /usr/local/include/hiredis-vip # 把這行更改為您系統安裝hiredis-vip的頭文件目錄 ) link_directories( /usr/local/lib # 把這行更改為您洗的 hiredis-vip的lib安裝目錄 ) add_library(udf_redis SHARED library.c library.h) target_link_libraries(udf_redis hiredis_vip)
-
更改完成后,執行下面的操作
cd build cmake .. make
-
可以看到 build 目錄生成了庫文件?libudf_redis.so?或者?libudf_redis.dylib
-
進入您的 MySQL,執行如下 SQL 語句找到您的 MySQL 插件目錄:
SHOW VARIABLES LIKE 'plugin_dir%';
-
拷貝上面第四步中的 libudf_redis.so 或者 libudf_redis.dylib 到第五步中的目錄中
-
針對您的系統,linux 系統拷貝 create_function_linux.sql 或者 OSX 系統拷貝 create_function_osx.sql 并執行
-
重啟您的 MySQL,開始在 SQL 中愉快的體驗 Redis 吧!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- LabVIEW操作MySQL数据库编程实例49次下载
- windows-redis-memcahed redis和memcache集成快速使用包2次下载
- redis设计与实现0次下载
- redis入门指南1次下载
- 嵌入式Linux系统重启后如何使得redis中的数据不再有11次下载
- 在linux下安装Apache+Php+Mysql5次下载
- 读写MySQL数据库教程电子版下载0次下载
- MySQL的基本操作详细资料说明2次下载
- 如何使用PHP查询MYSQL生成动态表单8次下载
- MySQL教程之MySQL 5权威指南中文版资料免费下载0次下载
- The MySQL C API 编程实例5次下载
- 基于紫金桥组态软件与mysql数据库的连接10次下载
- mysql详细教程0次下载
- PHP/MySQL教程0次下载
- mysql中文手册83次下载
- Redis与MySQL协同升级企业缓存464次阅读
- Windows Docker部署Redis的流程1042次阅读
- Redis的分页+多条件模糊查询组合实现方案1018次阅读
- Redis中的使用554次阅读
- 如何用Springboot整合Redis689次阅读
- MySQL与Redis延迟双删策略1044次阅读
- 如何使用Rust连接Redis2689次阅读
- Redis架构演化之路724次阅读
- Redis的主从、哨兵、Redis Cluster集群957次阅读
- 什么是 Redis1242次阅读
- 来练习一个写Redis部署的脚本894次阅读
- redis及其使用场景976次阅读
- Redis和MySQL保持数据统一的方法介绍2369次阅读
- redis和mongodb数据库对比_redis、memcache、mongoDB 对比4329次阅读
- python操作redis798次阅读
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論