<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[62837] trunk/dports/databases/redis</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.macports.org/changeset/62837">62837</a></dd>
<dt>Author</dt> <dd>jann@macports.org</dd>
<dt>Date</dt> <dd>2010-01-18 15:39:21 -0800 (Mon, 18 Jan 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update by maintainer: #23290</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsdatabasesredisPortfile">trunk/dports/databases/redis/Portfile</a></li>
<li><a href="#trunkdportsdatabasesredisfilesredisdaemonconfsamplein">trunk/dports/databases/redis/files/redis-daemon.conf.sample.in</a></li>
<li><a href="#trunkdportsdatabasesredisfilesredisconfsamplein">trunk/dports/databases/redis/files/redis.conf.sample.in</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsdatabasesredisPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/databases/redis/Portfile (62836 => 62837)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/databases/redis/Portfile        2010-01-18 23:19:26 UTC (rev 62836)
+++ trunk/dports/databases/redis/Portfile        2010-01-18 23:39:21 UTC (rev 62837)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> PortSystem              1.0
</span><span class="cx"> 
</span><span class="cx"> name                    redis
</span><del>-version                 1.01
</del><ins>+version                 1.2.0
</ins><span class="cx"> categories              databases
</span><span class="cx"> maintainers             gmail.com:brianjlandau openmaintainer
</span><span class="cx"> homepage                http://code.google.com/p/redis/
</span><span class="lines">@@ -28,9 +28,9 @@
</span><span class="cx">                         includes initial support for master-slave replication \
</span><span class="cx">                         in order to solve this problem by redundancy).
</span><span class="cx"> 
</span><del>-checksums               md5     555730b90ad34839687cce0f3117cd6e \
-                        sha1    416121fdec212746523b707edd3efd0458175326 \
-                        rmd160  e0729d75b4ec0310047f5c649aedc1109616aa9f
</del><ins>+checksums               md5     e33cb95cfa5c4f7086eea57e1e490d28 \
+                        sha1    187dbb3d7e34b73bf15a20cab7fd9687435ee6bf \
+                        rmd160  d304e197086b4168249416a2354664372124286c
</ins><span class="cx"> 
</span><span class="cx"> use_configure           no
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkdportsdatabasesredisfilesredisdaemonconfsamplein"></a>
<div class="modfile"><h4>Modified: trunk/dports/databases/redis/files/redis-daemon.conf.sample.in (62836 => 62837)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/databases/redis/files/redis-daemon.conf.sample.in        2010-01-18 23:19:26 UTC (rev 62836)
+++ trunk/dports/databases/redis/files/redis-daemon.conf.sample.in        2010-01-18 23:39:21 UTC (rev 62837)
</span><span class="lines">@@ -19,6 +19,25 @@
</span><span class="cx"> # Close the connection after a client is idle for N seconds (0 to disable)
</span><span class="cx"> timeout 300
</span><span class="cx"> 
</span><ins>+# Set server verbosity to 'debug'
+# it can be one of:
+# debug (a lot of information, useful for development/testing)
+# notice (moderately verbose, what you want in production probably)
+# warning (only very important / critical messages are logged)
+loglevel notice
+
+# Specify the log file name. Also 'stdout' can be used to force
+# the demon to log on the standard output. Note that if you use standard
+# output for logging but daemonize, logs will be sent to /dev/null
+logfile @PREFIX@/var/log/redis.log
+
+# Set the number of databases. The default database is DB 0, you can select
+# a different one on a per-connection basis using SELECT &lt;dbid&gt; where
+# dbid is a number between 0 and 'databases'-1
+databases 16
+
+################################ SNAPSHOTTING  #################################
+#
</ins><span class="cx"> # Save the DB on disk:
</span><span class="cx"> #
</span><span class="cx"> #   save &lt;seconds&gt; &lt;changes&gt;
</span><span class="lines">@@ -34,6 +53,12 @@
</span><span class="cx"> save 300 10
</span><span class="cx"> save 60 10000
</span><span class="cx"> 
</span><ins>+# Compress string objects using LZF when dump .rdb databases?
+# For default that's set to 'yes' as it's almost always a win.
+# If you want to save some CPU in the saving child set it to 'no' but
+# the dataset will likely be bigger if you have compressible values or keys.
+rdbcompression yes
+
</ins><span class="cx"> # The filename where to dump the DB
</span><span class="cx"> dbfilename dump.rdb
</span><span class="cx"> 
</span><span class="lines">@@ -41,32 +66,22 @@
</span><span class="cx"> # Note that you must specify a directory not a file name.
</span><span class="cx"> dir @PREFIX@/var/db/redis
</span><span class="cx"> 
</span><del>-# Set server verbosity to 'debug'
-# it can be one of:
-# debug (a lot of information, useful for development/testing)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel notice
-
-# Specify the log file name. Also 'stdout' can be used to force
-# the demon to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile @PREFIX@/var/log/redis.log
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT &lt;dbid&gt; where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
</del><span class="cx"> ################################# REPLICATION #################################
</span><span class="cx"> 
</span><span class="cx"> # Master-Slave replication. Use slaveof to make a Redis instance a copy of
</span><span class="cx"> # another Redis server. Note that the configuration is local to the slave
</span><span class="cx"> # so for example it is possible to configure the slave to save the DB with a
</span><span class="cx"> # different interval, or to listen to another port, and so on.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # slaveof &lt;masterip&gt; &lt;masterport&gt;
</span><span class="cx"> 
</span><ins>+# If the master is password protected (using the &quot;requirepass&quot; configuration
+# directive below) it is possible to tell the slave to authenticate before
+# starting the replication synchronization process, otherwise the master will
+# refuse the slave request.
+#
+# masterauth &lt;master-password&gt;
+
</ins><span class="cx"> ################################## SECURITY ###################################
</span><span class="cx"> 
</span><span class="cx"> # Require clients to issue AUTH &lt;PASSWORD&gt; before processing any other
</span><span class="lines">@@ -75,7 +90,7 @@
</span><span class="cx"> #
</span><span class="cx"> # This should stay commented out for backward compatibility and because most
</span><span class="cx"> # people do not need auth (e.g. they run their own servers).
</span><del>-
</del><ins>+#
</ins><span class="cx"> # requirepass foobared
</span><span class="cx"> 
</span><span class="cx"> ################################### LIMITS ####################################
</span><span class="lines">@@ -85,7 +100,7 @@
</span><span class="cx"> # is able to open. The special value '0' means no limts.
</span><span class="cx"> # Once the limit is reached Redis will close all the new connections sending
</span><span class="cx"> # an error 'max number of clients reached'.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # maxclients 128
</span><span class="cx"> 
</span><span class="cx"> # Don't use more memory than the specified amount of bytes.
</span><span class="lines">@@ -104,9 +119,51 @@
</span><span class="cx"> # it is going to use too much memory in the long run, and you'll have the time
</span><span class="cx"> # to upgrade. With maxmemory after the limit is reached you'll start to get
</span><span class="cx"> # errors for write operations, and this may even lead to DB inconsistency.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # maxmemory &lt;bytes&gt;
</span><span class="cx"> 
</span><ins>+############################## APPEND ONLY MODE ###############################
+
+# By default Redis asynchronously dumps the dataset on disk. If you can live
+# with the idea that the latest records will be lost if something like a crash
+# happens this is the preferred way to run Redis. If instead you care a lot
+# about your data and don't want to that a single record can get lost you should
+# enable the append only mode: when this mode is enabled Redis will append
+# every write operation received in the file appendonly.log. This file will
+# be read on startup in order to rebuild the full dataset in memory.
+#
+# Note that you can have both the async dumps and the append only file if you
+# like (you have to comment the &quot;save&quot; statements above to disable the dumps).
+# Still if append only mode is enabled Redis will load the data from the
+# log file at startup ignoring the dump.rdb file.
+#
+# The name of the append only file is &quot;appendonly.log&quot;
+#
+# IMPORTANT: Check the BGREWRITEAOF to check how to rewrite the append
+# log file in background when it gets too big.
+
+appendonly no
+
+# The fsync() call tells the Operating System to actually write data on disk
+# instead to wait for more data in the output buffer. Some OS will really flush 
+# data on disk, some other OS will just try to do it ASAP.
+#
+# Redis supports three different modes:
+#
+# no: don't fsync, just let the OS flush the data when it wants. Faster.
+# always: fsync after every write to the append only log . Slow, Safest.
+# everysec: fsync only if one second passed since the last fsync. Compromise.
+#
+# The default is &quot;always&quot; that's the safer of the options. It's up to you to
+# understand if you can relax this to &quot;everysec&quot; that will fsync every second
+# or to &quot;no&quot; that will let the operating system flush the output buffer when
+# it want, for better performances (but if you can live with the idea of
+# some data loss consider the default persistence mode that's snapshotting).
+
+appendfsync always
+# appendfsync everysec
+# appendfsync no
+
</ins><span class="cx"> ############################### ADVANCED CONFIG ###############################
</span><span class="cx"> 
</span><span class="cx"> # Glue small output buffers together in order to send small replies in a
</span><span class="lines">@@ -128,5 +185,5 @@
</span><span class="cx"> # WARNING: object sharing is experimental, don't enable this feature
</span><span class="cx"> # in production before of Redis 1.0-stable. Still please try this feature in
</span><span class="cx"> # your development environment so that we can test it better.
</span><del>-shareobjects no
-# shareobjectspoolsize 1024
</del><ins>+shareobjects yes
+shareobjectspoolsize 1024
</ins></span></pre></div>
<a id="trunkdportsdatabasesredisfilesredisconfsamplein"></a>
<div class="modfile"><h4>Modified: trunk/dports/databases/redis/files/redis.conf.sample.in (62836 => 62837)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/databases/redis/files/redis.conf.sample.in        2010-01-18 23:19:26 UTC (rev 62836)
+++ trunk/dports/databases/redis/files/redis.conf.sample.in        2010-01-18 23:39:21 UTC (rev 62837)
</span><span class="lines">@@ -19,6 +19,25 @@
</span><span class="cx"> # Close the connection after a client is idle for N seconds (0 to disable)
</span><span class="cx"> timeout 300
</span><span class="cx"> 
</span><ins>+# Set server verbosity to 'debug'
+# it can be one of:
+# debug (a lot of information, useful for development/testing)
+# notice (moderately verbose, what you want in production probably)
+# warning (only very important / critical messages are logged)
+loglevel debug
+
+# Specify the log file name. Also 'stdout' can be used to force
+# the demon to log on the standard output. Note that if you use standard
+# output for logging but daemonize, logs will be sent to /dev/null
+logfile stdout
+
+# Set the number of databases. The default database is DB 0, you can select
+# a different one on a per-connection basis using SELECT &lt;dbid&gt; where
+# dbid is a number between 0 and 'databases'-1
+databases 16
+
+################################ SNAPSHOTTING  #################################
+#
</ins><span class="cx"> # Save the DB on disk:
</span><span class="cx"> #
</span><span class="cx"> #   save &lt;seconds&gt; &lt;changes&gt;
</span><span class="lines">@@ -34,6 +53,12 @@
</span><span class="cx"> save 300 10
</span><span class="cx"> save 60 10000
</span><span class="cx"> 
</span><ins>+# Compress string objects using LZF when dump .rdb databases?
+# For default that's set to 'yes' as it's almost always a win.
+# If you want to save some CPU in the saving child set it to 'no' but
+# the dataset will likely be bigger if you have compressible values or keys.
+rdbcompression yes
+
</ins><span class="cx"> # The filename where to dump the DB
</span><span class="cx"> dbfilename dump.rdb
</span><span class="cx"> 
</span><span class="lines">@@ -41,32 +66,22 @@
</span><span class="cx"> # Note that you must specify a directory not a file name.
</span><span class="cx"> dir @PREFIX@/var/db/redis
</span><span class="cx"> 
</span><del>-# Set server verbosity to 'debug'
-# it can be one of:
-# debug (a lot of information, useful for development/testing)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel debug
-
-# Specify the log file name. Also 'stdout' can be used to force
-# the demon to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile stdout
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT &lt;dbid&gt; where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
</del><span class="cx"> ################################# REPLICATION #################################
</span><span class="cx"> 
</span><span class="cx"> # Master-Slave replication. Use slaveof to make a Redis instance a copy of
</span><span class="cx"> # another Redis server. Note that the configuration is local to the slave
</span><span class="cx"> # so for example it is possible to configure the slave to save the DB with a
</span><span class="cx"> # different interval, or to listen to another port, and so on.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # slaveof &lt;masterip&gt; &lt;masterport&gt;
</span><span class="cx"> 
</span><ins>+# If the master is password protected (using the &quot;requirepass&quot; configuration
+# directive below) it is possible to tell the slave to authenticate before
+# starting the replication synchronization process, otherwise the master will
+# refuse the slave request.
+#
+# masterauth &lt;master-password&gt;
+
</ins><span class="cx"> ################################## SECURITY ###################################
</span><span class="cx"> 
</span><span class="cx"> # Require clients to issue AUTH &lt;PASSWORD&gt; before processing any other
</span><span class="lines">@@ -75,7 +90,7 @@
</span><span class="cx"> #
</span><span class="cx"> # This should stay commented out for backward compatibility and because most
</span><span class="cx"> # people do not need auth (e.g. they run their own servers).
</span><del>-
</del><ins>+#
</ins><span class="cx"> # requirepass foobared
</span><span class="cx"> 
</span><span class="cx"> ################################### LIMITS ####################################
</span><span class="lines">@@ -85,7 +100,7 @@
</span><span class="cx"> # is able to open. The special value '0' means no limts.
</span><span class="cx"> # Once the limit is reached Redis will close all the new connections sending
</span><span class="cx"> # an error 'max number of clients reached'.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # maxclients 128
</span><span class="cx"> 
</span><span class="cx"> # Don't use more memory than the specified amount of bytes.
</span><span class="lines">@@ -104,9 +119,51 @@
</span><span class="cx"> # it is going to use too much memory in the long run, and you'll have the time
</span><span class="cx"> # to upgrade. With maxmemory after the limit is reached you'll start to get
</span><span class="cx"> # errors for write operations, and this may even lead to DB inconsistency.
</span><del>-
</del><ins>+#
</ins><span class="cx"> # maxmemory &lt;bytes&gt;
</span><span class="cx"> 
</span><ins>+############################## APPEND ONLY MODE ###############################
+
+# By default Redis asynchronously dumps the dataset on disk. If you can live
+# with the idea that the latest records will be lost if something like a crash
+# happens this is the preferred way to run Redis. If instead you care a lot
+# about your data and don't want to that a single record can get lost you should
+# enable the append only mode: when this mode is enabled Redis will append
+# every write operation received in the file appendonly.log. This file will
+# be read on startup in order to rebuild the full dataset in memory.
+#
+# Note that you can have both the async dumps and the append only file if you
+# like (you have to comment the &quot;save&quot; statements above to disable the dumps).
+# Still if append only mode is enabled Redis will load the data from the
+# log file at startup ignoring the dump.rdb file.
+#
+# The name of the append only file is &quot;appendonly.log&quot;
+#
+# IMPORTANT: Check the BGREWRITEAOF to check how to rewrite the append
+# log file in background when it gets too big.
+
+appendonly no
+
+# The fsync() call tells the Operating System to actually write data on disk
+# instead to wait for more data in the output buffer. Some OS will really flush 
+# data on disk, some other OS will just try to do it ASAP.
+#
+# Redis supports three different modes:
+#
+# no: don't fsync, just let the OS flush the data when it wants. Faster.
+# always: fsync after every write to the append only log . Slow, Safest.
+# everysec: fsync only if one second passed since the last fsync. Compromise.
+#
+# The default is &quot;always&quot; that's the safer of the options. It's up to you to
+# understand if you can relax this to &quot;everysec&quot; that will fsync every second
+# or to &quot;no&quot; that will let the operating system flush the output buffer when
+# it want, for better performances (but if you can live with the idea of
+# some data loss consider the default persistence mode that's snapshotting).
+
+appendfsync always
+# appendfsync everysec
+# appendfsync no
+
</ins><span class="cx"> ############################### ADVANCED CONFIG ###############################
</span><span class="cx"> 
</span><span class="cx"> # Glue small output buffers together in order to send small replies in a
</span><span class="lines">@@ -129,4 +186,4 @@
</span><span class="cx"> # in production before of Redis 1.0-stable. Still please try this feature in
</span><span class="cx"> # your development environment so that we can test it better.
</span><span class="cx"> shareobjects no
</span><del>-# shareobjectspoolsize 1024
</del><ins>+shareobjectspoolsize 1024
</ins></span></pre>
</div>
</div>

</body>
</html>