title: Configuring Redis on Windows
body: <p>I'm using the <a href="https://github.com/MSOpenTech/redis" rel="nofollow">MsOpenTech</a> version of Redis on a Windows 2008 server. I've installed via the RedisWatcher Service as described <a href="https://github.com/SignalR/SignalR/wiki/SignalR-with-Redis-Running-on-a-Windows-Azure-Virtual-Machine" rel="nofollow">here</a>, and this is working fine - the server is responding and data going in and out nicely, running multiple instances etc - so great. </p>
  
  <p>I have one problem though - i'm attempting to use a <code>redis.conf</code> file to set some default configuration; the <code>.conf</code> file being stored in the same directory as <code>redis-server.exe</code>, namely <code>c:\redis\bin</code></p>
  
  <p>The config changes themselves are straighforward, i'm simply setting timeout to 20 seconds, thus:</p>
  
  <pre><code>timeout 20
  </code></pre>
  
  <p>but when I run the watcher service, connect to the server via the command line and do <code>config get timeout</code>, it returns <code>0</code></p>
  
  <p>I've tried to restart the watcher service after making the updates to config. I've tried passing in the timeout value directly in the watcher.conf file for the service, like </p>
  
  <pre><code>cmdparms --timeout 20
  </code></pre>
  
  <p>and this doesn't work. I've attempted the same on a second instance, same results.</p>
  
  <p>Interestingly, if I start a second instance of the redis server within the watcher, thus:</p>
  
  <pre><code>{
  workingdir c:\redis\inst2
  runmode hidden
  saveout 1
  cmdparms --port 6380
  }
  </code></pre>
  
  <p>this works, respecting the <code>--port</code> argument and kicking off a second instance at port 6380. Although as mentioned above, passing a <code>--timeout</code> parameter or a config file parameter to this instance is not working either. </p>
  
  <p>Setting configuration via the command line works fine, ie, when connected to redis: </p>
  
  <pre><code>config set timeout 20
  </code></pre>
  
  <p>This sets the timeout as expected, but obviously doesn't persist the setting beyond that session. This being version 2.6 of redis, I don't have access to the config rewrite command, so can't get around it that way.</p>
  
  <p>Any ideas welcome.</p>