Go to file
antirez 91d664d6ce run_id added to INFO output.
The Run ID is a field that identifies a single execution of the Redis
server. It can be useful for many purposes as it makes easy to detect if
the instance we are talking about is the same, or if it is a different
one or was rebooted. An application of run_id will be in the partial
synchronization of replication, where a slave may request a partial sync
from a given offset only if it is talking with the same master. Another
application is in failover and monitoring scripts.
2012-03-08 10:13:36 +01:00
deps lua_cmsgpack.c added 2012-02-24 15:46:25 +01:00
src run_id added to INFO output. 2012-03-08 10:13:36 +01:00
tests even less false positive on obuf-limits test. 2012-02-22 11:25:30 +01:00
utils The universe is 80 columns wide, accept it. 2012-02-22 17:22:40 +01:00
.gitignore file .prerequisites added to gitignore 2011-11-21 15:35:54 +01:00
00-RELEASENOTES Fixes to 2.6 release notes file 2012-02-07 15:08:38 +01:00
BUGS Switched issues URL to Github in BUGS 2011-10-18 14:28:23 -04:00
Changelog Make log target fixed 2010-07-01 14:45:37 +02:00
CONTRIBUTING Cleaned up redis root directory and changed links for redis.io and github issues and pull requests 2011-10-18 14:14:16 -04:00
COPYING first commit 2009-03-22 10:30:00 +01:00
INSTALL INSTALL now redirects the user to README 2012-02-05 09:38:41 +01:00
Makefile top level Makefile now just a proxy. Doing make clean inside src now does a full clean including deps, not just Redis source. Thanks to Pieter for the top level Makefile proxy trick. 2011-07-13 19:15:22 +02:00
MANIFESTO Redis Manifesto moved from src to root dir 2012-02-05 09:37:08 +01:00
README Document the redis-server cli options in the README 2011-12-01 15:40:49 +01:00
redis.conf By default Redis refuses writes with an error if the latest BGSAVE failed (and at least one save point is configured). However people having good monitoring systems may prefer a server that continues to work, since they are notified that there are problems by their monitoring systems. This commit implements the ability to turn the feature on or off via redis.conf and CONFIG SET. 2012-03-07 18:02:26 +01:00
runtest A few small BSD related fixes. 2012-02-08 22:24:59 +01:00
TODO a few entries removed from the old TODO list (done) 2011-09-27 16:07:38 +02:00

Where to find complete Redis documentation?
-------------------------------------------

This README is just a fast "quick start" document. You can find more detailed
documentation at http://redis.io

Building Redis
--------------

It is as simple as:

    % make

You can run a 32 bit Redis binary using:

    % make 32bit

After building Redis is a good idea to test it, using:

    % make test

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.

To force compiling against libc malloc, use:

    % make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:

    % make MALLOC=jemalloc

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
-------------

To run Redis with the default configuration just type:

    % cd src
    % ./redis-server
    
If you want to provide your redis.conf, you have to run it using an additional
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
------------------

You can use redis-cli to play with Redis. Start a redis-server instance,
then in another terminal try the following:

    % cd src
    % ./redis-cli
    redis> ping
    PONG
    redis> set foo bar
    OK
    redis> get foo
    "bar"
    redis> incr mycounter
    (integer) 1
    redis> incr mycounter
    (integer) 2
    redis> 

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.

Enjoy!