新聞中心
Predixy
Predixy?是一款高性能全特征redis代理,支持redis-sentinel和redis-cluster
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站與策劃設(shè)計(jì),西安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:西安等地區(qū)。西安做網(wǎng)站價(jià)格咨詢:028-86922220
特性
高性能并輕量級(jí)
支持多線程
多平臺(tái)支持:Linux、OSX、BSD、Windows(Cygwin)
支持Redis Sentinel,可配置一組或者多組redis
支持Redis Cluster
支持redis阻塞型命令,包括blpop、brpop、brpoplpush
支持scan命令,無(wú)論是單個(gè)redis還是多個(gè)redis實(shí)例都支持
多key命令支持: mset/msetnx/mget/del/unlink/touch/exists
支持redis的多數(shù)據(jù)庫(kù),即可以使用select命令
支持事務(wù),當(dāng)前僅限于Redis Sentinel下單一redis組可用
支持腳本,包括命令:script load、eval、evalsha
支持發(fā)布訂閱機(jī)制,也即Pub/Sub系列命令
多數(shù)據(jù)中心支持,讀寫分離支持
擴(kuò)展的AUTH命令,強(qiáng)大的讀、寫、管理權(quán)限控制機(jī)制,健空間限制機(jī)制
日志可按級(jí)別采樣輸出,異步日志記錄避免線程被io阻塞
日志文件可以按時(shí)間、大小自動(dòng)切分
豐富的統(tǒng)計(jì)信息,包括CPU、內(nèi)存、請(qǐng)求、響應(yīng)等信息
延遲監(jiān)控信息,可以看到整體延遲,分后端redis實(shí)例延遲
predixy很快,有多快? 對(duì)比幾個(gè)流行的redis代理(twemproxy,codis,redis-cerberus), predixy要比它們快得多。
編譯
Predixy可以在所有主流平臺(tái)下編譯,推薦在linux下使用,需要支持C++11的編譯器。
編譯非常簡(jiǎn)單,下載或者git clone代碼后進(jìn)到predixy目錄,直接執(zhí)行: 首先解決編譯依賴:
yum?install?libstdc++-static?-y????????????????? ???git?clone?https://github.com/joyieldInc/predixy.git?? cd?predixy/ $?make
編譯后會(huì)在src目錄生成一個(gè)可執(zhí)行文件predixy
編譯debug版本:
$?make?debug
更多編譯選項(xiàng):
CXX=ccompiler,指定c編譯器,缺省是g++,可以指定為其它,例如:CXX=clang++
EV=epoll|poll|kqueue,指定異步io模型,缺省情況下是根據(jù)平臺(tái)來(lái)檢測(cè)
MT=false, 關(guān)閉多線程支持
TS=true, 開啟函數(shù)調(diào)用耗時(shí)分析,該選項(xiàng)僅用于開發(fā)模式
一些使用參數(shù)編譯的例子:
$?make?CXX=clang++$?make?EV=poll$?make?MT=false$?make?debug?MT=false?TS=true
安裝
簡(jiǎn)單的只要拷貝src/predixy到目標(biāo)路徑即可
$?cp?src/predixy?/usr/local/bin/ $?mkdir???-p?/var/log/predixy/
predixy的配置類似redis, 具體配置項(xiàng)的含義在配置文件里有詳細(xì)解釋,請(qǐng)參考下列配置文件:
predixy.conf,整體配置文件,會(huì)引用下面的配置文件
cluster.conf,用于Redis Cluster時(shí),配置后端redis信息
sentinel.conf,用于Redis Sentinel時(shí),配置后端redis信息
auth.conf,訪問(wèn)權(quán)限控制配置,可以定義多個(gè)驗(yàn)證密碼,可每個(gè)密碼指定讀、寫、管理權(quán)限,以及定義可訪問(wèn)的健空間
dc.conf,多數(shù)據(jù)中心支持,可以定義讀寫分離規(guī)則,讀流量權(quán)重分配
latency.conf, 延遲監(jiān)控規(guī)則定義,可以指定需要監(jiān)控的命令以及延時(shí)時(shí)間間隔
提供這么多配置文件實(shí)際上是按功能分開了,所有配置都可以寫到一個(gè)文件里,也可以寫到多個(gè)文件里然后在主配置文件里引用進(jìn)來(lái)。
運(yùn)行
$?predixy?/predixy/conf/predixy.conf
使用默認(rèn)的配置文件predixy.conf, predixy將監(jiān)聽地址0.0.0.0:7617,后端的redis是Redis Cluster 127.0.0.1:6379。通常,127.0.0.1:6379并不是運(yùn)行在Redis Clusterr模式下,因此Predixy將 會(huì)有大量的錯(cuò)誤日志輸出。不過(guò)你依然可以用redis-cli連接predixy來(lái)試用一下:
$?redis-cli?-p?7617?info
執(zhí)行上條命令后可以看到predixy自身的一些信息,如果127.0.0.1:6379在運(yùn)行的話,你可以試試其它redis命令,看看效果如何。
更多的啟動(dòng)命令行參數(shù)請(qǐng)看幫助:
$?src/predixy?-h
統(tǒng)計(jì)信息
和redis一樣,predixy用INFO命令來(lái)給出統(tǒng)計(jì)信息。
在redis-cli連接下執(zhí)行下面的命令:
redis>?INFO
你將看到類似redis執(zhí)行INFO命令的輸出,不過(guò)這里是predixy的統(tǒng)計(jì)信息。
benchmark?配置詳細(xì)文檔
分享題目:redis代理工具Predixy安裝部署
文章地址:http://fisionsoft.com.cn/article/jcejhs.html