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

接続ごとに新しいRedisクライアントを作成する必要がありますか?

    ええと、彼らはクライアントごとにredis接続を作成しているようです。これは絶対にお勧めしません。

    Redisはデータベースです。 MySQLのようなものです。クライアントからアクセスできますが、サーバー上で実行されているプログラムです。データはそれによって処理されるので、それがどこにあるかを心配する必要はありません。心配な場合は、redisの構成を確認できます。詳細はこちら:http://redis.io(ドキュメントは本当に良いです)

    コードを「修正」し、1つのクライアントのみを使用するには、次のように使用する必要があります。

    /**
     * Move this at the top, this way it's not run once per client,
     * it is run once the node program is launched.
     */
    var r = redis.createClient();
    
    var addSnippet = function( req, res ) {
      getPostParams( req, function( obj ) {    
          r.stream.on( 'connect', function() {
            r.incr( 'nextid' , function( err, id ) {
              r.set( 'snippet:'+id, JSON.stringify( obj ), function() {
                var msg = 'The snippet has been saved at <a href="/'+id+'">'+req.headers.host+'/'+id+'</a>';
                res.respond( msg );
              } );
            } );
          } );
        });
    };
    


    1. MongoDBにフィールドが存在するかどうかを確認するにはどうすればよいですか?

    2. MongoDB:1つのコマンドで複数のドキュメントを更新するにはどうすればよいですか?

    3. MongoDBを使用した単純なタグ付けの実装

    4. 同じデータベース内でコレクションをコピーする最速の方法は何ですか?