index.js
function redisSetAccountKeypair(options, keypair, callback) {
    _debug('le-store-redis.redisSetAccountKeypair', '\nkeypair:', keypair);
    var keypairId = 'keypair-' +
      crypto.createHash('sha256').update(keypair.publicKeyPem).digest('hex');
    var jsonKeypair = JSON.stringify(keypair);

    async.parallel([
      function(callback) {
        // write the keypair data
        client.set(keypairId, jsonKeypair, callback);
      },
      function(callback) {
        // create an index for email if one was given
        if(options.email) {
          return _createIndex('idx-e2k', options.email, keypairId, callback);
        }
        callback(null, 'NOP');
      }], function(err, results) {
        if(err) {
          return callback(err);
        }
        if(results[0] !== null && results[1] !== null) {
          callback(null, keypair);
        }
    });
  }
function redisSetAccountKeypair(options, keypair, callback) {
    _debug('le-store-redis.redisSetAccountKeypair', '\nkeypair:', keypair);
    var keypairId = 'keypair-' +
      crypto.createHash('sha256').update(keypair.publicKeyPem).digest('hex');
    var jsonKeypair = JSON.stringify(keypair);

    async.parallel([
      function(callback) {
        // write the keypair data
        client.set(keypairId, jsonKeypair, callback);
      },
      function(callback) {
        // create an index for email if one was given
        if(options.email) {
          return _createIndex('idx-e2k', options.email, keypairId, callback);
        }
        callback(null, 'NOP');
      }], function(err, results) {
        if(err) {
          return callback(err);
        }
        if(results[0] !== null && results[1] !== null) {
          callback(null, keypair);
        }
    });
  }
function redisSetAccountKeypair ( options , keypair , callback ) { _debug ( 'le-store-redis.redisSetAccountKeypair' , '\nkeypair:' , keypair ) ; var keypairId = 'keypair-' + crypto . createHash ( 'sha256' ) . update ( keypair . publicKeyPem ) . digest ( 'hex' ) ; var jsonKeypair = JSON . stringify ( keypair ) ; async . parallel ( [ function ( callback ) { // write the keypair data client . set ( keypairId , jsonKeypair , callback ) ; } , function ( callback ) { // create an index for email if one was given if ( options . email ) { return _createIndex ( 'idx-e2k' , options . email , keypairId , callback ) ; } callback ( null , 'NOP' ) ; } ] , function ( err , results ) { if ( err ) { return callback ( err ) ; } if ( results [ 0 ] !== null && results [ 1 ] !== null ) { callback ( null , keypair ) ; } } ) ; }
Creates a new instance of a le-store-redis storage driver.

@param {Object[]} options - options passed to storage called
@param {string} options[].email - optional email address to associate with
the keypair.
@param {string} options[].accountId - optional accountId to associate with
the keypair.
@param {Object} keypair - a keypair provided by the node-letsencrypt
package.
@param {Function} callback(err, keypair) - called when an error occurs, or
when a keypair is successfully written to the database.
Creates a new instance of a le - store - redis storage driver .