日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

redis mysql 集群_mysql_redis

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis mysql 集群_mysql_redis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL-Redis

1、什么是 MySQL-Redis ?

MySQL-Redis是一款可以在 MySQL 中操作 Redis 的一個UDF(MySQL用戶自定義函數插件),不能獨立運行,需要依賴于 MySQL

2、支持系統

mysql_redis可以在支持標準C99編譯器的操作系統上編譯,但是hiredis-vip與Redis的支持環境限制了mysql_redis的適用范圍

3、MySQL-Redis 可以操作 Redis 集群嗎?

可以的, MySQL-Redis可以操作單例或者集群Redis,操作的唯一的區別就是MySQL函數不一樣而已

4、性能怎么樣 ?

性能這個取決于網絡, 實例操作Redis速度很快。因為使用C語言開發

5、使用場景 ?

可以使用在需要 Redis和MySQL數據一致性的地方。

6、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

7、返回值

1:

RedisSET 、 RedisClusterSet 、RedisConnect 、RedisConnectFree 、 RedisClusterConnect 、 RedisClusterConnectFree 成功的情況下返回 1,否則SQL語句錯誤

2:

RedisExecCommand 、 RedisClusterExecCommand 、RedisRawCommand 、RedisClusterRawCommand、RedisListIndex 、RedisListJoin 返回字符串,具體如下:

OK

在執行 Redis SET命令的時候返回 "OK"表示成功,否則就表示錯誤信息

其他字符串

執行GET 命令的時候 返回具體值

8、怎么安裝 ?

前提條件:

電腦安裝 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_redis 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 mysql_redis.c mysql_redis.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吧!

總結

以上是生活随笔為你收集整理的redis mysql 集群_mysql_redis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。