]> git.saurik.com Git - redis.git/blobdiff - README
Make clear that contributing code to the Redis project means to release it under...
[redis.git] / README
diff --git a/README b/README
index 887c8a6024e6f342494e5fce8637db086f0a3980..51152342a91db408f6dea4c1e85e224536592517 100644 (file)
--- a/README
+++ b/README
@@ -7,15 +7,17 @@ documentation at http://redis.io
 Building Redis
 --------------
 
+Redis can be compiled and used on Linux, OSX, OpenBSD, NetBSD, FreeBSD.
+We support big endian and little endian architectures.
+
+It may compile on Solaris derived systems (for instance SmartOS) but our
+support for this platform is "best effort" and Redis is not guaranteed to
+work as well as in Linux, OSX, and *BSD there.
+
 It is as simple as:
 
     % make
 
-Redis is just a single binary, but if you want to install it you can use
-the "make install" target that will copy the binary in /usr/local/bin
-for default. You can also use "make PREFIX=/some/other/directory install"
-if you wish to use a different destination.
-
 You can run a 32 bit Redis binary using:
 
     % make 32bit
@@ -31,18 +33,19 @@ NOTE: if after building Redis with a 32 bit target you need to rebuild it
 Allocator
 ---------
 
-By default Redis compiles and links against jemalloc under Linux, since
-glibc malloc() has memory fragmentation problems.
+Selecting a non-default memory allocator when building Redis is done by setting
+the `MALLOC` environment variable. Redis is compiled and linked against libc
+malloc by default, with the exception of jemalloc being the default on Linux
+systems. This default was picked because jemalloc has proven to have fewer
+fragmentation problems than libc malloc.
 
-To force a libc malloc() build use:
+To force compiling against libc malloc, use:
 
-    make FORCE_LIBC_MALLOC=yes
+    % make MALLOC=libc
 
-In all the other non Linux systems the libc malloc() is used by default.
+To compile against jemalloc on Mac OS X systems, use:
 
-On Mac OS X you can force a jemalloc based build using the following:
-
-    make USE_JEMALLOC=yes
+    % make MALLOC=jemalloc
 
 Verbose build
 -------------
@@ -50,7 +53,7 @@ Verbose build
 Redis will build with a user friendly colorized output by default.
 If you want to see a more verbose output use the following:
 
-    make V=1
+    make V=1
 
 Running Redis
 -------------
@@ -66,6 +69,15 @@ parameter (the path of the configuration file):
     % cd src
     % ./redis-server /path/to/redis.conf
 
+It is possible to alter the Redis configuration passing parameters directly
+as options using the command line. Examples:
+
+    % ./redis-server --port 9999 --slaveof 127.0.0.1 6379
+    % ./redis-server /etc/redis/6379.conf --loglevel debug
+
+All the options in redis.conf are also supported as options using the command
+line, with exactly the same name.
+
 Playing with Redis
 ------------------
 
@@ -90,4 +102,42 @@ You can find the list of all the available commands here:
 
     http://redis.io/commands
 
+Installing Redis
+-----------------
+
+In order to install Redis binaries into /usr/local/bin just use:
+
+    % make install
+
+You can use "make PREFIX=/some/other/directory install" if you wish to use a
+different destination.
+
+Make install will just install binaries in your system, but will not configure
+init scripts and configuration files in the appropriate place. This is not
+needed if you want just to play a bit with Redis, but if you are installing
+it the proper way for a production system, we have a script doing this
+for Ubuntu and Debian systems:
+
+    % cd utils
+    % ./install_server
+
+The script will ask you a few questions and will setup everything you need
+to run Redis properly as a background daemon that will start again on
+system reboots.
+
+You'll be able to stop and start Redis using the script named
+/etc/init.d/redis_<portnumber>, for instance /etc/init.d/redis_6379.
+
+Code contributions
+---
+
+Note: by contributing code to the Redis project in any form, including sending
+a pull request via Github, a code fragment or patch via private email or
+public discussion groups, you agree to release your code under the terms
+of the BSD license that you can find in the COPYING file included in the Redis
+source distribution.
+
+Please see the CONTRIBUTING file in this source distribution for more
+information.
+
 Enjoy!