測試平臺(tái)系列(81) 編寫在線執(zhí)行Redis功能

大家好~我是米洛

我正在從0到1打造一個(gè)開源的接口測試平臺(tái), 也在編寫一套與之對應(yīng)的完整教程,希望大家多多支持谷市。

回顧

上一節(jié)我們牛刀小試亡嫌,編寫了redisManager嚎于,并且成功執(zhí)行了redis命令。

那這一節(jié)挟冠,就讓我們來折騰下在線執(zhí)行Redis命令于购。

由于某些特定的原因,在使用aredis的時(shí)候有了一些不好的體驗(yàn)圃郊,主要是以下幾個(gè)方面, 所以我打算棄坑了价涝。

  • get和set操作沒有支持中文,非常難受
  • 對于報(bào)錯(cuò)信息不是那么友好持舆,因?yàn)槲疫@邊出現(xiàn)了一個(gè)連接出錯(cuò)的問題色瘩,發(fā)現(xiàn)對方的error是ConnectionError,里面毫無內(nèi)容
  • 之前也說了逸寓,遷移成本巨低居兆,所以我們可以完美切回用戶最多的同步庫(如果踩坑也有人一起想辦法)

安裝redis和redis-py-cluster

pip3 install redis redis-py-cluster

改寫Manager類

其實(shí)要改變的并不多,看下git的改動(dòng)就知道了:

  • 修改引入路徑
image
  • 修復(fù)之前的bug
之前的獲取單實(shí)例從集群中拿數(shù)據(jù)了竹伸,大錯(cuò)特錯(cuò)了
  • 改寫cluster
換個(gè)名字而已泥栖,從StrictCluster改為Cluster

完善在線執(zhí)行命令的方法

做一個(gè)判斷簇宽,如果是cluster則獲取集群客戶端,否則獲取實(shí)例客戶端

這樣我們的后端接口就編寫完畢了吧享,因?yàn)槲覀兿胱龅氖穷愃苧edis-cli的功能魏割。

  • 尋找前端組件

    我們需要一個(gè)web版本的終端,所以我在github尋找了很久钢颂,找到了這樣一款質(zhì)量還不錯(cuò)的:

到時(shí)候我們的頁面上钞它,就讓用戶輸入這個(gè)了
  • 最終效果
最終顯示效果

還是比較丑,左側(cè)是現(xiàn)有的redis連接配置殊鞭,右側(cè)是類似redis-cli的客戶端頁面遭垛。

在右側(cè)執(zhí)行語句以后,就會(huì)調(diào)用我們剛才編寫的redis在線執(zhí)行接口操灿。

湊合能用就行锯仪。給大家看看使用gif:

image

目前只支持基礎(chǔ)的操作,包括常見的:

get set hget hset hgetall等等

自動(dòng)更新Redis

每當(dāng)配置有變更的時(shí)候趾盐,我們都需要變更RedisManager中的數(shù)據(jù)庶喜,所以我們之前為之編寫了Refresh方法。

我們修改update/delete方法:

刪除client也編寫了一個(gè)方法

這里的background_tasks是來自fastapi的后臺(tái)任務(wù)谤碳,如果大家了解go的話溃卡,這里就等于:

func test() {
    // 業(yè)務(wù)邏輯
    result := xxx
    go RedisManager.delete()
    return result
}

其實(shí)就是一個(gè)后臺(tái)任務(wù),咱們的主體方法可以直接return了蜒简。

刪除客戶端的方法瘸羡,如果是集群則pop集群字典

今天的內(nèi)容就到這了,下期我們解決APScheduler重復(fù)執(zhí)行的問題搓茬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末犹赖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子卷仑,更是在濱河造成了極大的恐慌峻村,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锡凝,死亡現(xiàn)場離奇詭異粘昨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)窜锯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門张肾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锚扎,你說我怎么就攤上這事吞瞪。” “怎么了驾孔?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵芍秆,是天一觀的道長惯疙。 經(jīng)常有香客問我,道長妖啥,這世上最難降的妖魔是什么霉颠? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮荆虱,結(jié)果婚禮上掉分,老公的妹妹穿的比我還像新娘。我一直安慰自己克伊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布华坦。 她就那樣靜靜地躺著愿吹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惜姐。 梳的紋絲不亂的頭發(fā)上犁跪,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機(jī)與錄音歹袁,去河邊找鬼坷衍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛条舔,可吹牛的內(nèi)容都是我干的枫耳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼孟抗,長吁一口氣:“原來是場噩夢啊……” “哼迁杨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凄硼,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤铅协,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后摊沉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狐史,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年说墨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骏全。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡婉刀,死狀恐怖吟温,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情突颊,我是刑警寧澤鲁豪,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布潘悼,位于F島的核電站,受9級特大地震影響爬橡,放射性物質(zhì)發(fā)生泄漏治唤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一糙申、第九天 我趴在偏房一處隱蔽的房頂上張望宾添。 院中可真熱鬧,春花似錦柜裸、人聲如沸缕陕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扛邑。三九已至,卻和暖如春铐然,著一層夾襖步出監(jiān)牢的瞬間蔬崩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工搀暑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沥阳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓自点,卻偏偏與公主長得像桐罕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子樟氢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容