Linux 系列(四)——Redis 集群运维及java整合

来源:互联网 发布:水果蔬菜批发软件 编辑:程序博客网 时间:2024/06/06 19:08

一、Redis集群操作

1、开启Redis集群

1)执行上文中编写好的shell脚本,先将redis服务全部开启

2)执行redis01/redis-cli -h 192.168.132.128 -p 7005 -c启动01节点客户端连接集群

2、查看Redis集群节点进程

 

3、关闭Redis集群

1)单机中,直接cd到redis/bin下,执行redis-cli连接到服务器, 然后shutdown即可。

2)或者指定redis节点端口号shut down ,统一编写成shell脚本如下:

3)执行shell脚本,关闭redis集群

二、Redis客户端连接集群

1、自带的redis-cli命令

2、RedisManager 可视化工具

 

     这个工具可用于连接单个redis节点,支持执行linux命令,例如在01中set了一个a,转跳到03中进行保存,进入03便可看到0号数据库下的key为a的value。另外Redis默认的是有16个数据库,从0号数据库开始,集群环境下默认操作0号数据库。可也对redis.conf对默认数据库数量进行修改

3、Jedis客户端jar

Jedis是Redis的java版本的客户端实现,封装了java操作Redis的一套实现用于在java中对Redis进行数据操作。

1)首先引入Jedis jar包。

2)使用Jedis封装的API和对象对Redis节点进行数据操作。下面是几种连接方式的测试方法

使用单个Jedis对象创建连接

<span style="font-size:12px;">public void single() {// 创建一个jedis对象Jedis jedis = new Jedis("192.168.132.128", 6379);// 调用方法,方法名和redis的命令一样jedis.set("key1", "jedis-test");String string = jedis.get("key1");System.out.println(string);jedis.close();}</span>

使用Jedis数据连接池创建连接

<span style="font-size:12px;">public void Pool() {// 创建一个jedis连接池对象JedisPool pool = new JedisPool("192.168.132.128", 6379);// 从连接池中获取jedis对象Jedis jedis = pool.getResource();String string = jedis.get("key1");System.out.println(string);// 注意每次使用完毕都需要关闭jedis连接,否则连接池很容易就到达最大连接数,溢出了。jedis.close();}</span>

连接Redis集群

<span style="font-size:12px;">public void Cluster() {// 创建一个hashset、用于存放所有的节点信息HashSet<HostAndPort> nodes = new HashSet<>();nodes.add(new HostAndPort("192.168.132.128", 7001));nodes.add(new HostAndPort("192.168.132.128", 7002));nodes.add(new HostAndPort("192.168.132.128", 7003));nodes.add(new HostAndPort("192.168.132.128", 7004));nodes.add(new HostAndPort("192.168.132.128", 7005));nodes.add(new HostAndPort("192.168.132.128", 7006));// 创建一个集群JedisCluster cluster = new JedisCluster(nodes);cluster.set("key", "cluster-connection-success");String string = cluster.get("key");System.out.println(string);cluster.close();}</span>

注意:每次建立连接后处理完执行关闭连接操作,以免连接数超过最大连接数导致node 宕掉。

 

0 0
原创粉丝点击