单个Redis 安装
1、下载redis的源码包。
2、把源码包上传到linux服务器
3、解压源码包
tar -zxvf redis-3.0.0.tar.gz
4、Make
5、Make install
6.make install PREFIX=/usr/local/redis
1.前端启动模式 /usr/local/redis/bin/redis-server
默认是前端启动模式,端口是6379
2. 后端启动模式
a.从redis 的源码目录中复制到redis.conf 到redis的bin目录中
b.修改配置文件
daemonsize yes
c. 启动服务 ./redis-server redis.conf
d. 进入编辑模式:
./redis-cli
quit --关闭连接
auth -简单密码认证
对String 操作命令
ttl 获得一个key的活动是哪
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的所有key
Redis 集群
前提条件:redis 集群必须是至少六个redis
1.搭建redis 集群管理工具redis-trib.rb 需要 依赖ruby 环境
yum install ruby
yum install rubygems --这是一个 ruby 包的管理器
2.进入redis 的源码包中的src 目录下 找到redis-trib.rb
命令如下 :
[root@zdc redis-3.0.0]# cd src/
[root@zdc src]# ll *rb
-rwxrwxr-x 1 root root 48141 Apr 1 2015 redis-trib.rb
[root@zdc src]#
3.运行 此脚本需要一个脚本 redis-3.0.0.gem ,此脚本相当于java的jar 脚本
安装 redis-3.0.0.gem 脚本
gem install redis-3.0.0.gem
4. 创建 集群文件夹
修改redis.conf
修改端口号 port
打开集群节点 cluster-enabled yes
把redis-trib.rb 拷贝到集群文件夹中来cp /root/redis-3.0.0/src/*.rb /usr/local/rediscluster/
5. 创建启动文件 start.sh 注意最后添加执行权限
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
6.ps aux|grep redis 查看redis启动情况
有六个启动的端口号
7.开始创建集群的节点
[root@zdc rediscluster]# ./redis-trib.rb create --replicas 1 192.168.9.132:7001 192.168.9.132:7002 192.168.9.132:7003 192.168.9.132:7004 192.168.9.132:7005 192.168.9.132:7006
测试集群
./redis01/redis-cli -h 192.168.9.132 -p 7002 -c --记住这里一定要添加c 否则的话可以链接但是不能够进行redis的跳转**链接集群**
# Redis 集群分区原理 #
槽(solt)的基本概念
Redis 集群键分布算法使用数据分片(shardinng)而并不是非一致性哈希(consistency hashing).一个Redis 集群包含16384个哈希槽(hash solt)。
redis的所有键 都是在哈希槽当中。几乎所有的集群分区的目的都是为了在添加节点和删除节点的时候尽可能 的降低对已经存在的数据造成的影响,
redis集群增加节点和删除节点的其实就是哈希槽节点的移动,
如果增加节点,就会把其他节点的槽分配给新增加的槽,如果删除节点,就会把要删除的节点上的槽又重新分配给其他的节点。
简而言之就是 键-槽映射(key-solt),同样memcached采用的非一致性哈希算法,进行的是键节点映射(key-node)
查看集群信息
cluster info 查看集群状态,槽分配,集群大小等
cluster nodes 查看主从节点
新增加节点的步骤:
1) 新增节点配置文件
2) 启动新增节点
3) 添加节点到集群中
4) 分配槽
添加节点,分配槽,删除节点的过程,不用停止集群,不阻塞集群的其他操作