X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/ac1f6fd07a15ac7a14f27b8a5f4b5fb3dc6cf8ac..4468ba231785fe9fda26f2d05181f91342d91c2d:/README diff --git a/README b/README index 088844b7..51152342 100644 --- a/README +++ b/README @@ -2,47 +2,58 @@ 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 -------------- +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 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 ------------- @@ -58,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 ------------------ @@ -80,7 +100,44 @@ 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_, 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!