]> git.saurik.com Git - redis.git/blobdiff - README
Update README on allocators
[redis.git] / README
diff --git a/README b/README
index 088844b795747c4d75e524df3c975545c338317d..3920b53428416c8d16c431ea8daa11cdba47cc42 100644 (file)
--- a/README
+++ b/README
@@ -2,10 +2,7 @@ Where to find complete Redis documentation?
 -------------------------------------------
 
 This README is just a fast "quick start" document. You can find more detailed
-documentation here:
-
-1) http://code.google.com/p/redis
-2) Check the 'doc' directory. doc/README.html is a good starting point :)
+documentation at http://redis.io
 
 Building Redis
 --------------
@@ -14,35 +11,42 @@ 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 to /usr/local/bin
-by 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
 
-After you build Redis is a good idea to test it (which require Tcl), using:
+After building Redis is a good idea to test it, using:
 
     % make test
 
-Buliding using tcmalloc
------------------------
+NOTE: if after building Redis with a 32 bit target you need to rebuild it
+      with a 64 bit target you need to perform a "make clean" in the root
+      directory of the Redis distribution.
+
+Allocator
+---------
+
+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.
 
-tcmalloc is a fast and space efficient implementation (for little objects)
-of malloc(). Compiling Redis with it can improve performance and memory
-usage. You can read more about it here:
+To force compiling against libc malloc, use:
 
-http://goog-perftools.sourceforge.net/doc/tcmalloc.html
+    % make MALLOC=libc
 
-In order to compile Redis with tcmalloc support, install tcmalloc on your system
-and then use:
+To compile against jemalloc on Mac OS X systems, use:
 
-    % make USE_TCMALLOC=yes
+    % make MALLOC=jemalloc
 
-Note that you can pass any other target to make, as long as you append
-USE_TCMALLOC=yes at the end.
+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
 
 Running Redis
 -------------
@@ -80,7 +84,32 @@ then in another terminal try the following:
 
 You can find the list of all the available commands here:
 
-    http://code.google.com/p/redis/wiki/CommandReference
+    http://redis.io/commands
 
-Enjoy!
+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.
+
+Enjoy!