Redis单机和集群的安装
程序员文章站
2022-05-20 14:57:26
...
1 Redis 单机安装
1.1 新建虚拟机
1.2 配置虚拟机网络
1.3 上传安装包
1.4 安装 gcc-c++编译器
yum install gcc-c++
1.5 解压 Redis 的安装包
1.6 编译 Redis
1.7 创建 Redis 的安装目录
1.8 安装 Redis
1.9 配置防火墙 6379 端口
1.10 启动 Redis
1.10.1 前台启动
1.10.2 后台启动
将解压后的 redis 目录中的 redis.conf 拷贝到 /usr/local/redis/bin 目录中
1.11redis-cli 连接 Redis 测试
2 Redis 集群创建
2.1 安装 Ruby 脚本
2.2 创建 Redis 集群相关目录
2.3 redis-common 集群配置
将原始的 redis.conf 配置文件,拷贝到/opt/redis/conf
拷贝到 redis 集群的公共配置目录。
建议在本地将 redis.conf 文件进行配置,上传到/opt/redis/conf
前端启动改为后台启动
注释掉服务的进程 id 的记录文件
注释掉默认端口
注释掉默认日志保存路径信息
注释调用默认的数据文件的名字
配置集群中数据文件的目录
注释掉默认的公共配置 aof 日志追加文件
启动集群,去掉注释
slot 槽是否全覆盖,默认为 false,建议设置为 no
2.4 集群每个节点配置
引用集群公共配置
注释掉默认启动方式
配置服务节点进程记录文件
为集群中每个服务节点配置端口号
配置集群中每个服务的日志记录文件
配置集群中每个服务的数据文件名称
配置集群中每个服务的 aop 日志文件名称
配置集群中每个服务的配置文件名称
2.5 关闭防火墙
2.6 启动 6 个 Redis 服务
2.7 创建 Redis 集群
进入到/sxt/app/redis-3.0.6/src 目录执行:
./redis-trib.rb create --replicas 1 192.168.30.40:6380 192.168.30.40:6381 192.168.30.40:6382 192.168.30.40:6383 192.168.30.40:6384 192.168.30.40:6385
2.8Redis 集群测试
./redis-cli -c -p
-c 集群连接模式
-p 连接到那一台主机对应的端口号
3 JedisCluster 访问 Redis 集群
3.1 建立 JedisClusterDemo 项目
<!-- jedis 的依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
3.2 创建 ClusterDemo 测试类
package com.bjsxt.demo;
import java.util.HashSet; import java.util.Set;
import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster;
public class JedisClusterDemo {
public static void main(String[] args) { /**** * 测试 redis 的集群操作 */ //创建 HostAndPort 对象 HostAndPort node1=new HostAndPort("192.168.30.40",6380); HostAndPort node2=new HostAndPort("192.168.30.40",6381); HostAndPort node3=new HostAndPort("192.168.30.40",6382); HostAndPort node4=new HostAndPort("192.168.30.40",6383); HostAndPort node5=new HostAndPort("192.168.30.40",6384); HostAndPort node6=new HostAndPort("192.168.30.40",6385); //创建 Set<HostAndPort>集合对象
Set<HostAndPort> nodes=new HashSet<HostAndPort>(); nodes.add(node1); nodes.add(node2); nodes.add(node3); nodes.add(node4); nodes.add(node5); nodes.add(node6); //连接 redis 集群 JedisCluster cluster=new JedisCluster(nodes); cluster.set("name", "test"); String result = cluster.get("name"); System.out.println("result="+result); } }
上一篇: 二、Redis特性
下一篇: JS - 7 - Map和WeakMap