Должен ли я создавать новый FailOverClient для каждой операции redis?

Я пытаюсь использовать NewFailOverClient в библиотеке go-redis для подключения к ряду серверов Redis в K8s, которые служат в качестве кеша и распределенной блокировки для приложения. Должен ли я каждый раз создавать нового клиента для операции (получение / установка) или мне следует повторно использовать этого клиента во всем приложении?

Я чувствую, что нормальный шаблон - закрыть новое соединение после операции, но библиотека предполагает, что клиент является потокобезопасным, что заставляет меня задаться вопросом, каков вариант использования, кроме повторного использования клиента?

       // NewFailoverClient returns a Redis client that uses Redis Sentinel
// for automatic failover. It's safe for concurrent use by multiple
// goroutines.
func NewFailoverClient(failoverOpt *FailoverOptions) *Client { ...

0 ответов

Другие вопросы по тегам