code: function CruxRedisComponent(__name) {
    Redis.super_.apply(this, arguments);
    this.name = (typeof __name === 'string' ? __name : 'redis');
    this.client = {};
  }
docs: once every 50 seconds, we ping the connection to avoid timeouts 
  Wrapper and utility functionality over node-redis.
  @example
  // Programatically create a redis store.
  var crux = require('node-crux'),
  app = crux.app;
  var redisStore = new crux.Store.Redis('mystore', { host: 'localhost' });
  app.addComponent(redisStore);
  app.run(function() {
  // At this point, our redis component is connected to the redis server.
  redisStore.exec('SET', 'key', 'value');
  redisStore.subscribe('myChannel', function onData(data) {
  log.debug('Got data', data);
  }, function onSubscribed() {
  redisStore.publish('myChannel', 'helloWorld');
  });
  });
  
  @class crux.Store.Redis
  @extends crux.Component
  
  @property {String} [name=redis] - The redis component name.
  @property {Redis.RedisClient} - the Redis connection client.
  @param {String} name - the redis component's name. Crux allows the creation of multiple redis components, if they have different names.
  @param {Object} options Default configuration for the Redis component
  @param {Boolean} [options.enabled=true] - Enables or not the component. Disabled redis components will not connect to redis but simulate the run() method
  @param {Boolean} [options.debug=true] - Enables or not debug mode. While in debug mode, all redis calls are logged.
  @param {String} [options.host=localhost] - Redis hostname
  @param {Boolean} [options.pubsub=false] - If enabled, it will not create the default regular connection on redis, but only the publish/subscribe ones.
  @param {Number} [options.port=6379] - Redis port
  @param {String} [options.password=null] - Redis password
  @param {Object} [options.options] - additional Redis options.