1:服务端 下载 $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz 解压 $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 编译 $ make
[jifeng@jifeng04 ~]$ tar xzf redis-2.8.13.tar.gz [jifeng@jifeng04 ~]$ cd redis-2.8.13 [jifeng@jifeng04 redis-2.8.13]$ make cd src && make all ......出现一大堆信息 Hint: To run 'make test' is a good idea ;) make[1]: Leaving directory `/home/jifeng/redis-2.8.13/src' [jifeng@jifeng04 redis-2.8.13]$运行 $ src/redis-server[jifeng@jifeng04 redis-2.8.13]$ src/redis-server [6675] 10 Aug 17:19:48.837 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf [6675] 10 Aug 17:19:48.838 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. [6675] 10 Aug 17:19:48.838 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted. [6675] 10 Aug 17:19:48.838 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.8.13 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 6675 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [6675] 10 Aug 17:19:48.839 # Server started, Redis version 2.8.13 [6675] 10 Aug 17:19:48.839 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. [6675] 10 Aug 17:19:48.839 * The server is now ready to accept connections on port 6379测试一下
连接redis $ src/redis-cli
设置键值 redis> set foo bar
OK
读取键值 redis> get foo "bar"
2:集群配置
用一致性哈希,做多个主从,可以做主从集群。
主从配置
配置Master-Slave,只需要在Slave上配置Master节点IP Port:
[jifeng@jifeng04 redis-2.8.13]$ vi redis.conf
################################# REPLICATION ################################# # Master-Slave replication. Use slaveof to make a Redis instance a copy of # another Redis server. Note that the configuration is local to the slave # so for example it is possible to configure the slave to save the DB with a # different interval, or to listen to another port, and so on. # # slaveof <masterip> <masterport>修改上面最后一行
slaveof 10.3.7.212 6379
启动slave
[jifeng@jifeng04 redis-2.8.13]$ src/redis-server ./redis.conf [6762] 10 Aug 17:46:46.907 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. [6762] 10 Aug 17:46:46.907 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted. [6762] 10 Aug 17:46:46.907 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.8.13 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 6762 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [6762] 10 Aug 17:46:46.915 # Server started, Redis version 2.8.13 [6762] 10 Aug 17:46:46.916 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. [6762] 10 Aug 17:46:46.916 * DB loaded from disk: 0.000 seconds [6762] 10 Aug 17:46:46.916 * The server is now ready to accept connections on port 6379 [6762] 10 Aug 17:46:47.916 * Connecting to MASTER 10.3.7.212:6379 [6762] 10 Aug 17:46:47.916 * MASTER <-> SLAVE sync started [6762] 10 Aug 17:46:47.916 * Non blocking connect for SYNC fired the event. [6762] 10 Aug 17:46:47.917 * Master replied to PING, replication can continue... [6762] 10 Aug 17:46:47.917 * Partial resynchronization not possible (no cached master) [6762] 10 Aug 17:46:47.917 * Full resync from master: 925b249e41d001e66c4e683983439c346b96571f:1 [6762] 10 Aug 17:46:47.952 * MASTER <-> SLAVE sync: receiving 29 bytes from master [6762] 10 Aug 17:46:47.952 * MASTER <-> SLAVE sync: Flushing old data [6762] 10 Aug 17:46:47.952 * MASTER <-> SLAVE sync: Loading DB in memory [6762] 10 Aug 17:46:47.952 * MASTER <-> SLAVE sync: Finished with success
测试
Master写,Slave读:
OK!!
原文地址:http://blog.csdn.net/wind520/article/details/38471373