大家好~我是
米洛
!
我正在從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)就知道了:
- 修改引入路徑
- 修復(fù)之前的bug
- 改寫cluster
完善在線執(zhí)行命令的方法
這樣我們的后端接口就編寫完畢了吧享,因?yàn)槲覀兿胱龅氖穷愃苧edis-cli的功能魏割。
-
尋找前端組件
我們需要一個(gè)web版本的終端,所以我在github尋找了很久钢颂,找到了這樣一款質(zhì)量還不錯(cuò)的:
- 最終效果
還是比較丑,左側(cè)是現(xiàn)有的redis連接配置殊鞭,右側(cè)是類似redis-cli的客戶端頁面遭垛。
在右側(cè)執(zhí)行語句以后,就會(huì)調(diào)用我們剛才編寫的redis在線執(zhí)行接口
操灿。
湊合能用就行锯仪。給大家看看使用gif:
目前只支持基礎(chǔ)的操作,包括常見的:
get
set
hget
hset
hgetall
等等
自動(dòng)更新Redis
每當(dāng)配置有變更的時(shí)候趾盐,我們都需要變更RedisManager中的數(shù)據(jù)
庶喜,所以我們之前為之編寫了Refresh方法。
我們修改update/delete方法:
這里的background_tasks是來自fastapi的后臺(tái)任務(wù)谤碳,如果大家了解go的話溃卡,這里就等于:
func test() {
// 業(yè)務(wù)邏輯
result := xxx
go RedisManager.delete()
return result
}
其實(shí)就是一個(gè)后臺(tái)任務(wù),咱們的主體方法可以直接return了蜒简。
今天的內(nèi)容就到這了,下期我們解決APScheduler重復(fù)執(zhí)行
的問題搓茬。