Search code examples
herokusizeredisredistogo

How to estimate how large a redis database will be?


I'm trying to decide what size Redis To Go option to go for in heroku.

Say that I want to keep about a million records in Redis for easy access.

If each record is about 1-10kb in size, does this mean that the entire database will be 1,000,000 * 1-10kb or is there some hidden overhead that I don't know about?


Solution

  • Can you start with the smallest option and gain access to the CLI interface? If so, you can do the following:

    redis-cli
    > info
    

    View the following and note values:

    used_memory:931104
    used_memory_human:909.27K
    used_memory_rss:1052672
    used_memory_peak:931008
    used_memory_peak_human:909.19K
    

    Then load 100k records and perform the same thing and compare the difference in memory. It's really hard to tell just by guessing on size, and note that there is overhead (the figures above are vanilla install with no data on my MacBookPro 2011 w/ OSX Lion).