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