1. 前提
redis版本必须是3.0以上否则只能主从复制和哨兵!
1. 下载ruby
集群脚本语言需借助ruby
yum -y install ruby ruby-devel rubygems rpm-build
2. 如出现以下错误 说明ruby
版本太低(centos
默认安装2的版本)
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.
3. 执行
curl -L get.rvm.io | bash -s stable 来获取rvm
4. 如果出现这个错误 就按照提示来设置 key
NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server.
Please downgrade or upgrade to newer version (if available) or use the second method described above.
5. 获取秘钥 一般在提示里面直接复制粘贴执行
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
6. 执行命令以请求数据
curl -sSL https://get.rvm.io | bash -s stable
7. 应用一下
source /etc/profile.d/rvm.sh
8. 查看可用版本并安装
rvm list known
rvm install 2.5.0
9. 安装好了 查看版本 如需切换可执行切换版本命令 并安装 gem redis
接口
ruby --version
rvm use 2.3.0
gem install redis
10. 我这里本地模拟配置redis
集群环境,线上环境的话请换成公网ip:port
1. 复制多个redis.conf文件
2. 分别设置其端口号为 7001 7002 ...(自定义)
3. 启动redis服务,以redis配置文件的方式对6个文件分别启动
4. 至此分别启动了6个redis服务完成
11. 设置集群服务器ip配置 执行如下命令(切换到redis-trib.rb 目录, 一般在src目录下)
redis-trib.rb create --replicas 1 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 127.0.0.1:7006
12. 搭建完毕! 测试一下
set test test
ps:如果是 php环境 且框架为 laravel 的话 可以配置如下
'redis' => [
'client' => 'predis',
'options' => [
'cluster' => 'redis',
],
'clusters' => [
'rspCluster' =>[
[
'host' => env('REDIS_HOST1', '127.0.0.1'),
'password' => env('REDIS_PASSWORD1', null),
'port' => env('REDIS_PORT1', 7001),
'database' => 0,
],
[
'host' => env('REDIS_HOST2', '127.0.0.1'),
'password' => env('REDIS_PASSWORD2', null),
'port' => env('REDIS_PORT2', 7002),
'database' => 0,
],
[
'host' => env('REDIS_HOST3', '127.0.0.1'),
'password' => env('REDIS_PASSWORD3', null),
'port' => env('REDIS_PORT3', 7003),
'database' => 0,
]
]
],
],
测试使用
$redis = Redis::connection('rspCluster'); //或者 app('redis')->connection('rspCluster') ;//rspCluster是配置文件里面的集群名字
$set = $redis->get('location');
// $set = $redis->set('location','xingtai');
dd($set);
网友评论