title: why does the redis memory usage not reduce when del half of keys
body: <p>Redis is used to save data but it costs a lot of memory, and its memory usage up to 52.5%.
  I deleted half of the keys in redis, and the return code of the delete operation is ok, but its memory usage doesn't reduce.</p>
  
  <p>What's the reason? Thanks in Advance.</p>
  
  <p>My operation code is as below:</p>
  
  <pre><code>// save data
  m_pReply = (redisReply *)redisCommand(m_pCntxt, "set %b %b", mykey.data(), mykey.size(), &amp;myval, sizeof(myval));
  // del data
  m_pReply = (redisReply *)redisCommand(m_pCntxt, "del %b", mykey.data(), mykey.size());
  </code></pre>
  
  <p>The redis info:</p>
  
  <pre>
  redis 127.0.0.1:6979> info
  redis_version:2.4.8
  redis_git_sha1:00000000
  redis_git_dirty:0
  arch_bits:64
  multiplexing_api:epoll
  gcc_version:4.4.6
  process_id:28799
  uptime_in_seconds:1289592
  uptime_in_days:14
  lru_clock:127925
  used_cpu_sys:148455.30
  used_cpu_user:38023.92
  used_cpu_sys_children:23187.60
  used_cpu_user_children:123989.72
  connected_clients:22
  connected_slaves:0
  client_longest_output_list:0
  client_biggest_input_buf:0
  blocked_clients:0
  used_memory:31903334872
  used_memory_human:29.71G
  used_memory_rss:34414981120
  used_memory_peak:34015653264
  used_memory_peak_human:31.68G
  mem_fragmentation_ratio:1.08
  mem_allocator:jemalloc-2.2.5
  loading:0
  aof_enabled:0
  changes_since_last_save:177467
  bgsave_in_progress:0
  last_save_time:1343456339
  bgrewriteaof_in_progress:0
  total_connections_received:820
  total_commands_processed:2412759064
  expired_keys:0
  evicted_keys:0
  keyspace_hits:994257907
  keyspace_misses:32760132
  pubsub_channels:0
  pubsub_patterns:0
  latest_fork_usec:11672476
  vm_enabled:0
  role:slave
  master_host:192.168.252.103
  master_port:6479
  master_link_status:up
  master_last_io_seconds_ago:0
  master_sync_in_progress:0
  db0:keys=66372158,expires=0
  </pre>