]> git.saurik.com Git - redis.git/blob - README
TTL API change: TTL returns -2 for non existing keys.
[redis.git] / README
1 Where to find complete Redis documentation?
2 -------------------------------------------
3
4 This README is just a fast "quick start" document. You can find more detailed
5 documentation at http://redis.io
6
7 Building Redis
8 --------------
9
10 Redis can be compiled and used on Linux, OSX, OpenBSD, NetBSD, FreeBSD.
11 We support big endian and little endian architectures.
12
13 It may compile on Solaris derived systems (for instance SmartOS) but our
14 support for this platform is "best effort" and Redis is not guaranteed to
15 work as well as in Linux, OSX, and *BSD there.
16
17 It is as simple as:
18
19 % make
20
21 You can run a 32 bit Redis binary using:
22
23 % make 32bit
24
25 After building Redis is a good idea to test it, using:
26
27 % make test
28
29 NOTE: if after building Redis with a 32 bit target you need to rebuild it
30 with a 64 bit target you need to perform a "make clean" in the root
31 directory of the Redis distribution.
32
33 Allocator
34 ---------
35
36 Selecting a non-default memory allocator when building Redis is done by setting
37 the `MALLOC` environment variable. Redis is compiled and linked against libc
38 malloc by default, with the exception of jemalloc being the default on Linux
39 systems. This default was picked because jemalloc has proven to have fewer
40 fragmentation problems than libc malloc.
41
42 To force compiling against libc malloc, use:
43
44 % make MALLOC=libc
45
46 To compile against jemalloc on Mac OS X systems, use:
47
48 % make MALLOC=jemalloc
49
50 Verbose build
51 -------------
52
53 Redis will build with a user friendly colorized output by default.
54 If you want to see a more verbose output use the following:
55
56 % make V=1
57
58 Running Redis
59 -------------
60
61 To run Redis with the default configuration just type:
62
63 % cd src
64 % ./redis-server
65
66 If you want to provide your redis.conf, you have to run it using an additional
67 parameter (the path of the configuration file):
68
69 % cd src
70 % ./redis-server /path/to/redis.conf
71
72 It is possible to alter the Redis configuration passing parameters directly
73 as options using the command line. Examples:
74
75 % ./redis-server --port 9999 --slaveof 127.0.0.1 6379
76 % ./redis-server /etc/redis/6379.conf --loglevel debug
77
78 All the options in redis.conf are also supported as options using the command
79 line, with exactly the same name.
80
81 Playing with Redis
82 ------------------
83
84 You can use redis-cli to play with Redis. Start a redis-server instance,
85 then in another terminal try the following:
86
87 % cd src
88 % ./redis-cli
89 redis> ping
90 PONG
91 redis> set foo bar
92 OK
93 redis> get foo
94 "bar"
95 redis> incr mycounter
96 (integer) 1
97 redis> incr mycounter
98 (integer) 2
99 redis>
100
101 You can find the list of all the available commands here:
102
103 http://redis.io/commands
104
105 Installing Redis
106 -----------------
107
108 In order to install Redis binaries into /usr/local/bin just use:
109
110 % make install
111
112 You can use "make PREFIX=/some/other/directory install" if you wish to use a
113 different destination.
114
115 Make install will just install binaries in your system, but will not configure
116 init scripts and configuration files in the appropriate place. This is not
117 needed if you want just to play a bit with Redis, but if you are installing
118 it the proper way for a production system, we have a script doing this
119 for Ubuntu and Debian systems:
120
121 % cd utils
122 % ./install_server
123
124 The script will ask you a few questions and will setup everything you need
125 to run Redis properly as a background daemon that will start again on
126 system reboots.
127
128 You'll be able to stop and start Redis using the script named
129 /etc/init.d/redis_<portnumber>, for instance /etc/init.d/redis_6379.
130
131 Code contributions
132 ---
133
134 Note: by contributing code to the Redis project in any form, including sending
135 a pull request via Github, a code fragment or patch via private email or
136 public discussion groups, you agree to release your code under the terms
137 of the BSD license that you can find in the COPYING file included in the Redis
138 source distribution.
139
140 Please see the CONTRIBUTING file in this source distribution for more
141 information.
142
143 Enjoy!