Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Czy Redigo Redis Pool naprawdę ma być zmienną globalną?

Jedyne inne rozwiązanie, jakie widziałem, na przykład w „Przekazywanie kontekstu do metod interfejsu” to:

utwórz struct który akceptuje osadzony kontekst i naszą handler i nadal spełniamy wymagania http.Handler interfejs dzięki ServeHTTP .

W twoim przypadku struct obejmowałoby pool i handler funkcja.

type appContext struct {
    pool Pool
}

type appHandler struct {
    *appContext
    h func(a *appContext, w http.ResponseWriter, r *http.Request) (int, error)
}

func (ah appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
   ...
}


func main() {
    context := &appContext{
        pool:    ...,
        // any other data
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Instalowanie i konfigurowanie Redis na Ubuntu

  2. Pobierz wartości według wzorca klucza w StackExchange.Redis

  3. Dostęp do zmiennej poza funkcją redis pipelining na Laravel

  4. Czy istnieje blokująca biblioteka redis dla node.js?

  5. Skąd Redis miałby się dowiedzieć, czy musi zwrócić dane z pamięci podręcznej lub świeże dane z bazy danych?