Golang連接redis時遇到的坑


背景

現在公司項目大量使用go語言開發,Redis則是常用的kv數據庫,我們使用aws的Redis托管服務,在項目開發過程中,很多項目組在開發初期選擇了redigo來操作redis, 對於主從版的redis來講不會有任何問題,但是當用戶量增加,需要使用aws redis cluster時,才發現redigo是不支持cluster的。

解決方法

在發現這個問題后,很多項目組改用了go-redis/redis這個庫,而且目前線上運行良好。
追加:
20210326
發現一個問題,當從aws集群中刪除一個分片,程序在重啟之前會有連接到已經被刪除的分片地址的情況,導致timeout

反思

1.在使用一個庫或工具時,要做好調研,如果使用前看過文檔,就能發現redigo不支持cluster的問題
2.不同雲廠商提供的服務也不盡相同,據說阿里雲的redis cluster前面默認給做了處理,使用redigo也沒有問題。

Redis對於不同語言的支持信息

https://redis.io/clients#go


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM