2010-08-31 17:42:52 +08:00
|
|
|
Where to find complete Redis documentation?
|
|
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
This README is just a fast "quick start" document. You can find more detailed
|
2011-10-19 02:28:07 +08:00
|
|
|
documentation at http://redis.io
|
2010-08-31 17:42:52 +08:00
|
|
|
|
|
|
|
Building Redis
|
|
|
|
--------------
|
2012-04-21 18:08:26 +08:00
|
|
|
|
|
|
|
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.
|
2010-08-31 17:42:52 +08:00
|
|
|
|
|
|
|
It is as simple as:
|
|
|
|
|
|
|
|
% make
|
|
|
|
|
|
|
|
You can run a 32 bit Redis binary using:
|
|
|
|
|
|
|
|
% make 32bit
|
|
|
|
|
2011-10-19 02:28:07 +08:00
|
|
|
After building Redis is a good idea to test it, using:
|
2010-08-31 17:42:52 +08:00
|
|
|
|
|
|
|
% make test
|
|
|
|
|
2011-10-19 02:28:07 +08:00
|
|
|
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
|
|
|
|
---------
|
|
|
|
|
2011-11-16 05:28:57 +08:00
|
|
|
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.
|
2011-10-19 02:28:07 +08:00
|
|
|
|
2011-11-16 05:28:57 +08:00
|
|
|
To force compiling against libc malloc, use:
|
2011-10-19 02:28:07 +08:00
|
|
|
|
2011-11-16 05:28:57 +08:00
|
|
|
% make MALLOC=libc
|
2011-10-19 02:28:07 +08:00
|
|
|
|
2011-11-16 05:28:57 +08:00
|
|
|
To compile against jemalloc on Mac OS X systems, use:
|
2011-10-19 02:28:07 +08:00
|
|
|
|
2011-11-16 05:28:57 +08:00
|
|
|
% make MALLOC=jemalloc
|
2011-10-19 02:28:07 +08:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2011-10-23 18:28:31 +08:00
|
|
|
% make V=1
|
2010-10-22 06:06:44 +08:00
|
|
|
|
2010-08-31 17:42:52 +08:00
|
|
|
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
|
|
|
|
|
2011-12-01 22:40:49 +08:00
|
|
|
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.
|
|
|
|
|
2010-08-31 17:42:52 +08:00
|
|
|
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:
|
|
|
|
|
2011-10-19 02:14:16 +08:00
|
|
|
http://redis.io/commands
|
2010-08-31 17:42:52 +08:00
|
|
|
|
2011-10-23 18:28:31 +08:00
|
|
|
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.
|
|
|
|
|
2012-11-09 01:43:20 +08:00
|
|
|
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.
|
|
|
|
|
2010-08-31 17:42:52 +08:00
|
|
|
Enjoy!
|