下载安装
官网http://redis.io/下载redis安装包
tar zxvf redis-3.2.2.tar.gz
cd redis-3.2.2/
make
启动
src/redis-server redis.conf
默认端口号6379
停止
src/redis-cli shutdown -p 6379
命令行连接
src/redis-cli -p port -h host
如果是集群模式连接(加 -c)
src/redis-cli -c -p port -h host
配置文件
redis.conf
daemonize no 改为 yes # 是否后台运行
port 6379 改为 7000 # 端口
dir ./ 改为 /data/redis_12002/ 或者/www/redis_12002/ # 数据目录
cluster-enabled yes # 启动集群模式
伪分布式搭建
redis-cluster是redis官方写的集群功能
新建6个instance,3个master,3个slave;
新建实例之前要改一下redis.conf的内容,先改端口号,再改下面的cluster配置项
port 7000
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15
src下面的ruby脚本,建立集群: –replicas 1的意思是每个master有1个slave
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
如果脚本报错:
custom_require.rb:36:in require': cannot load such file -- redis (LoadError)
require’
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in
from ./redis-trib.rb:25:in `’
那么说明Ruby的redis接口没有安装,可以通过
sudo gem install redis
进行安装。
可能会询问是否保存设置
Can I set the above configuration? (type ‘yes’ to accept):
回答yes
再输出一连串信息后,会显示OK
[OK] All 16384 slots covered.
这样redis-cluster集群就启动了
查看集群目前状况:
$ redis-cli -c -p 7000
127.0.0.1:7000> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:0
cluster_stats_messages_sent:8770
cluster_stats_messages_received:8770
测试存值取值:
127.0.0.1:7000> set foo bar
-> Redirected to slot [12182] located at 127.0.0.1:7002
OK
127.0.0.1:7002> set hello world
-> Redirected to slot [866] located at 127.0.0.1:7000
OK
127.0.0.1:7000> get foo
-> Redirected to slot [12182] located at 127.0.0.1:7002
“bar”
127.0.0.1:7000> get hello
-> Redirected to slot [866] located at 127.0.0.1:7000
“world”