<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Napkin ~ A Blog By Highgroove Studios comments on Making the Case for Redis</title>
    <link>http://cleanair.highgroove.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>The Napkin ~ A Blog By Highgroove Studios comments</description>
    <item>
      <title>"Making the Case for Redis" by mtodd</title>
      <description>&lt;p&gt;Most database-backed applications, especially Ruby applications written in Rails do fine with a &lt;span class="caps"&gt;SQL &lt;/span&gt;Database, like MySQL.  Adam Wiggins of &lt;a href="http://heroku.com/"&gt;Heroku&lt;/a&gt; does a great job explaining how &lt;a href="http://adamblog.heroku.com/past/2009/7/8/sql_databases_are_an_overapplied_solution_and_what_to_use_instead/"&gt;SQL Databases are an Overapplied Solution&lt;/a&gt;.  There are definitely a few cases we&amp;#8217;ve seen where a NoSQL solution like Redis can really shine.&lt;/p&gt;


	&lt;p&gt;At Highgroove, we&amp;#8217;ve got several projects utilizing the &lt;a href="http://code.google.com/p/redis/"&gt;Redis&lt;/a&gt; key-value store.  Here are a few reasons you might want to look into Redis:&lt;/p&gt;


	&lt;p&gt;1) &lt;strong&gt;&amp;#8221;Data is frequently written, infrequently read&amp;#8221;&lt;/strong&gt; &amp;#8211; if you are making tons of writes and MySQL can&amp;#8217;t keep up, Redis has been clocked at 110000 SETs (the &lt;span class="caps"&gt;INSERT&lt;/span&gt; equivalent) per second!&lt;/p&gt;


	&lt;p&gt;2) &lt;strong&gt;&amp;#8221;Data can be expired&amp;#8221;&lt;/strong&gt; &amp;#8211; if you have data that can be expired on a regular basis, over time, or explicitly, like stats, logs, and session data, Redis can explicitly expire whole keys or quickly trim large lists of data in no time.&lt;/p&gt;


	&lt;p&gt;3) &lt;strong&gt;&amp;#8221;Data is a collection of &lt;span class="caps"&gt;COUN&lt;/span&gt;Ts, or SUMs of other data.&amp;#8221;&lt;/strong&gt; &amp;#8211; if you have ever written an &lt;span class="caps"&gt;UPDATE&lt;/span&gt; statement that adds +1 to a record, you probably know that it is quite expensive, and could possibly be wrong.  Redis has built in support for incrementing and decrementing values, quickly.&lt;/p&gt;


	&lt;p&gt;We love &lt;span class="caps"&gt;SQL &lt;/span&gt;Databases, so you won&amp;#8217;t see us abandoning them any time soon, but we enjoy adding tools like Redis to our toolbelt.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;More Information on Redis:&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Redis Project Page &amp;#8211; &lt;a href="http://code.google.com/p/redis/"&gt;http://code.google.com/p/redis/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Redis (wikipedia entry) &amp;#8211; &lt;a href="http://en.wikipedia.org/wiki/Redis_(dbms" title="dbms"&gt;http://en.wikipedia.org/wiki/Redis_&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;A Collection of Redis Use Cases &amp;#8211; &lt;a href="http://www.paperplanes.de/2010/2/16/a_collection_of_redis_use_cases.html"&gt;http://www.paperplanes.de/2010/2/16/a_collection_of_redis_use_cases.html&lt;/a&gt;&lt;/p&gt;

</description>
      <pubDate>Thu, 18 Feb 2010 14:55:00 EST</pubDate>
      <guid>&lt;a href="/articles/2010/02/18/redis-wip"&gt;Making the Case for Redis&lt;/a&gt;</guid>
      <link>&lt;a href="/articles/2010/02/18/redis-wip"&gt;Making the Case for Redis&lt;/a&gt;</link>
    </item>
  </channel>
</rss>
