搭建Redis服务
1,服务搭建并开放接口
这部分的内容晚上有很多资料,我弄了很久,最后看一下效果。
这代表redis的服务运行起来了,如果想要我们的java能够调用,还有把redis对外的接口暴露出来,6379。
2,测试
我下载了一个免费的数据库可视化工具叫Redis Desktop Manager,写一个方法测试一下。
2.1,测试代码
在进行测试之前,需要导入jedis的依赖,我的测试代码写在了content-service中,所以依赖也导入了这里。
@Test
public void testJedis() throws Exception {
//创建一个jedis对象,需要指定服务的ip和端口号
Jedis jedis = new Jedis("192.168.25.128", 6379);
//直接操作数据库
jedis.set("jedis-key", "1234");
String result = jedis.get("jedis-key");
System.out.println(result);
//关闭jedis
jedis.close();
}
这部分做完之后,我们看一下效果。
测试成功。
搭建Redis集群
1,redis-cluster架构
解释:
- 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽
- 节点的fail是通过集群中超过半数的节点检测失效时才生效
- 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
- redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster负责维护 node<->slot<->value
由于投票机制,所以集群至少有3个实例,但是由于节点不完整,就会代表集群宕机,所以每个实例都需要一个备份,那么就需要6个实例。
2,redis-cluster搭建
2.1,服务搭建
这时候我们找到刚才搭起来的redis服务,然后复制6份。我练习使用的linux环境是Ubuntu,所以我不知道redis的搭建是否标准,于是我把在etc/redis/redis.conf文件复制到了每个redis实例的目录下,写了一个batch文件。放在了这6个目录的根目录下。
然后对每一个配置文件配置端口并且开发cluster的配置。
cd redis01/bin
./redis-server redis.conf
cd ../..
cd redis02/bin
./redis-server redis.conf
cd ../..
cd redis03/bin
./redis-server redis.conf
cd ../..
cd redis04/bin
./redis-server redis.conf
cd ../..
cd redi