sql >> データベース >  >> NoSQL >> Redis

Redigo Redisプールは本当にグローバル変数であると想定されていますか?

    たとえば、「コンテキストをインターフェイスメソッドに渡す」で見た他の唯一の解決策は次のとおりです。

    structを作成します 埋め込まれたコンテキストとhandlerを受け入れます タイプしても、http.Handlerを満たします ServeHTTPのおかげでインターフェース 。

    あなたの場合、struct poolが含まれます 、およびhandler 機能。

    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. pymongo接続のパスワードで@をエスケープする方法は?

    2. Redis Pub /SubとRedisStreamの主な違いは何ですか?

    3. キーの半分を削除しても、Redisのメモリ使用量が減らないのはなぜですか

    4. NoSqlデータベース(MongoDB)で外部キーを適用するにはどうすればよいですか?