<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>mysql_redis在MySQL中操作Redis?

mysql_redis在MySQL中操作Redis?

2022-06-22 | zip | 0.01 MB | 次下載 | 免費

資料介紹

授權協議 BSD
開發語言 C/C++
操作系統 跨平臺
軟件類型 開源軟件
所屬分類 數據庫相關、 MySQL衍生版

軟件簡介

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 插件的編譯安裝過程

  1. git clone 代碼庫

    git clone  https://gitee.com/josinli/mysql_redis.git
  2. 修改 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)
  3. 更改完成后,執行下面的操作

    cd build
    cmake ..
    make 
  4. 可以看到 build 目錄生成了庫文件?libudf_redis.so?或者?libudf_redis.dylib

  5. 進入您的 MySQL,執行如下 SQL 語句找到您的 MySQL 插件目錄:

    SHOW VARIABLES LIKE 'plugin_dir%';
  6. 拷貝上面第四步中的 libudf_redis.so 或者 libudf_redis.dylib 到第五步中的目錄中

  7. 針對您的系統,linux 系統拷貝 create_function_linux.sql 或者 OSX 系統拷貝 create_function_osx.sql 并執行

  8. 重啟您的 MySQL,開始在 SQL 中愉快的體驗 Redis 吧!

?

評論

查看更多

下載排行

本周

  1. 1RSA306B頻譜分析儀技術資料匯總
  2. 未知   |  204次下載  |  免費
  3. 2RSA500A系列便攜式頻譜分析儀技術盤點
  4. 未知   |  157次下載  |  免費
  5. 3高幅度波形/ 函數發生器汽車、半導體、科學和工業應用測量剖析
  6. 未知   |  141次下載  |  免費
  7. 4直流無刷電機驅動與失速電流限制參考設計
  8. 10.6 MB   |  32次下載  |  1 積分
  9. 5電動汽車同步快充慢充原理及測試的三種情況介紹
  10. 未知   |  30次下載  |  免費
  11. 6NI數據采集(DAQ)函數的應用
  12. 0.3 MB   |  23次下載  |  免費
  13. 7保護新能源汽車電池使用壽命的六種措施
  14. 未知   |  18次下載  |  免費
  15. 8稀土激光材料的詳述
  16. 0.1 MB   |  11次下載  |  免費

本月

  1. 1RSA306B頻譜分析儀技術資料匯總
  2. 未知   |  204次下載  |  免費
  3. 2RSA500A系列便攜式頻譜分析儀技術盤點
  4. 未知   |  157次下載  |  免費
  5. 3高幅度波形/ 函數發生器汽車、半導體、科學和工業應用測量剖析
  6. 未知   |  141次下載  |  免費
  7. 4直流無刷電機驅動與失速電流限制參考設計
  8. 10.6 MB   |  32次下載  |  1 積分
  9. 5電動汽車同步快充慢充原理及測試的三種情況介紹
  10. 未知   |  30次下載  |  免費
  11. 6NI數據采集(DAQ)函數的應用
  12. 0.3 MB   |  23次下載  |  免費
  13. 7保護新能源汽車電池使用壽命的六種措施
  14. 未知   |  18次下載  |  免費
  15. 8儲能電源市場分析
  16. 7.99 MB  |  18次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935094次下載  |  免費
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420052次下載  |  免費
  5. 3Altium DXP2002下載入口
  6. 未知  |  233070次下載  |  免費
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191334次下載  |  免費
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183317次下載  |  免費
  11. 6labview8.5下載
  12. 未知  |  81569次下載  |  免費
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73795次下載  |  免費
  15. 8NI LabVIEW中實現3D視覺的工具和技術
  16. 未知  |  70088次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>