redis:
单机版:
3.1.1安装步骤:
第一步:安装gcc编译环境
yum install gcc-c++
第二步:把redis的源码上传到linux服务器。
第三步:解压缩。
tar -zxvf redis-3.0.0.tar.gz
解压后进入到redis目录下
第四步:make
第五步:make install PREFIX=/usr/local/redis
进入目录 cd/usr/local下
找到 redis 进入到bin
3.1.2启动redis
两种启动方式,前端启动、后台启动。
前端启动:./redis-server
后台启动:
进入到 redis目录下 cd redis-2.8.11中
1、复制redis.conf到redis的安装目录
cp redis.conf /usr/local/redis/bin
进入redis的bin目录下
2、修改redis.conf。修改daemonize yes
3、[root@bogon redis]# ./redis-server redis.conf
3.1.3客户端
redis-cli -p 端口 -h ip地址 <-c>连接集群时使用此参数
默认端口:6379
Ip:localhost(127.0.0.1) 一般ip都是默认 可以直接进入redis的bin下 ./redis-cli
RedisDesktopManager:操作redis的工具,(注意只可以操作单机版redis) 可以看redis中的数据
集群版:
架构细节:
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,
redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,
redis 会根据节点数量大致均等的将哈希槽映射到不同的节点.
集群搭建:
1. 创建一个文件夹 mkdir /usr/local/cluster/
创建单机的redis01
然后复制 redis01
cp -r redis01/ redis02
复制6个redis (三个主的redis,三个从的redis)
2.进入到redis01 的 bin
cd /redis01/bin
然后 vi redis.conf
修改端口 port为 7001同时打开Cluster-enable yes 前的注释.
第三步:需要一个ruby脚本。在redis源码文件夹下的src目录下。redis-trib.rb
cd /redis-3.0.0.0/src/
ll .rb
复制redis-trib.rb到usr/local/redis-cluster下
cp redis-trib.rb /usr/local/redis-cluster/
第五步:执行ruby脚本之前,需要安装ruby环境。
cd /usr/local/redis-cluster
1、yum install ruby
2、yum install rubygems
3、安装redis-trib.rb运行依赖的ruby的包。
把redis-3.0.0.0-gem上传到目录的根下面
然后 gem install redis-3.0.0.gem
第六步:启动所有的redis实例
进入到redis的bin下
./redis-server redis.conf开启
7. 查询进程
ps aux|grep redis
然后进入一个redis中连接集群
./redis-cli -p 7001 -c
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240813180353098-2140851696.jpg)