title: python redis client fails to get existing hash values using .hgetall(key)
body: <p>I'm encountering a circumstance where a demonstrably known hash in db2 of our redis cache dies when being requested with .hgetall(key).  I'm hoping for some insight!  Thank you.</p>
  
  <p>Right, so... first, a sliver of code:</p>
  
  <pre><code>def from_cache(self, cachekey):
      """ pull oft needed material from our persistent redis memory cache, ensuring of course that we have a connection """
  
      try:
          log.debug('trying to get \'%s\' from cache' % cachekey)
          return self.redis.hgetall(cachekey)
      except Exception, e:
          self.connect_to_cache()
          return self.redis.get(cachekey)
  </code></pre>
  
  <p>resulting in:</p>
  
  <pre><code>2013-05-21 14:45:26,035 23202 DEBUG trying to get 'fax:1112223333' from cache
  2013-05-21 14:45:26,036 23202 DEBUG initializing connection to redis/cache memory localhost, port 6379, db 2...
  2013-05-21 14:45:26,039 23202 ERROR stopping with an exception
  Traceback (most recent call last):
    File "/usr/lib/python2.6/site-packages/simpledaemon/base.py", line 165, in start
      self.run()
    File "newgov.py", line 51, in run
      if self.ready_for_queue(fax):
    File "newgov.py", line 61, in ready_for_queue
      if self.too_many_already_queued(fax):
    File "newgov.py", line 116, in too_many_already_queued
      rules = self.from_cache(key)
    File "newgov.py", line 142, in from_cache
      return self.redis.get(cachekey)
    File "/usr/lib/python2.6/site-packages/redis/client.py", line 588, in get
      return self.execute_command('GET', name)
    File "/usr/lib/python2.6/site-packages/redis/client.py", line 378, in execute_command
      return self.parse_response(connection, command_name, **options)
    File "/usr/lib/python2.6/site-packages/redis/client.py", line 388, in parse_response
      response = connection.read_response()
    File "/usr/lib/python2.6/site-packages/redis/connection.py", line 309, in read_response
      raise response
  ResponseError: Operation against a key holding the wrong kind of value
  </code></pre>
  
  <p>And here is what is in redis:</p>
  
  <pre><code>$ redis-cli
  redis 127.0.0.1:6379&gt; SELECT 2
  OK
  redis 127.0.0.1:6379[2]&gt; type fax:1112223333
  hash
  redis 127.0.0.1:6379[2]&gt; hgetall fax:1112223333
  1) "delay"
  2) "0"
  3) "concurrent"
  4) "20"
  5) "queued"
  6) "20"
  7) "exclude"
  8) ""
  </code></pre>