Redis 数据库还是很nice的,要是想使用有一个工具比较好,
以前Redis推荐的Java语言使用工具是jedis (因为jedis不咋更新,现在官方推荐的是Lettuce)。
一、 前几篇文章已经讲述了怎么安装配置Redis和Redis集群, (咳咳,由于我的疏忽)下边有几点需注意:
1,以前测试时为方便,在Linux虚拟机上IP都用的127.0.0.1(localhost),现在Java程序要是运行在Windows显然是不行的(因为现在本机指的是这台Windows)
2,HOw?
2.1, 若只用单个的Redis数据库,将redis.conf 中的bind 改成虚拟机即可
2.2, 若是实用的redis集群,不但需要改每个bind的IP(所以啊, 当时就用IP就不用改了,不过也不麻烦),需要将数据库清空:
2.2.1,在六个redis服务器中,flushall //数据清除, 相信真是项目你也不会在创建集群是将IP搞错吧
2.2.2,将数据库备份文件删除: 先查询你的文件在哪
2.2.2.1 在根目录下: /find -name 'aof' // 进入appendenly.aof 所在目录,其他要删除的也在这
2.2.3,删除文件:appendenly.aof、nodes-7000.conf(我的有六个服务器, 7000-70001都删除, 下次创建集群会重新生成)
2.3,再启动并用IP创建新redis集群即可
二、好了,现在用jedis 操纵单个Redis,小试一下牛刀:
1,新建一个maven项目(redis服务器已启动)
2,在pom.xml文件中添加依赖:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>jedis</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.11.v20160721</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<contextPath>/</contextPath>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
3,建一个测试类即可:
public class JedisTest {
Jedis jedis;
//JedisCluster jedis;
@Before
public void setup() {
jedis = new Jedis("192.168.52.129");
}
@Test
public void testString() {
jedis.set("xx", "xx");
jedis.set("aa", "aa");
jedis.set("bb", "bb");
jedis.set("cc", "cc");
}
@Test
public void testSet() {
Map<String,String> userMap = new HashMap();
userMap.put("id", String.valueOf(1));
userMap.put("name", "lidong");
userMap.put("bobby","study");
jedis.hmset("user", userMap);
}
4, 成功添加之后,经虚拟机的redis服务器即可看到:
三、 重头戏来了,试试咱们的Redis集群:
1,在虚拟机开启redis服务器
2,创建测试类(之所以要做的不多,是因为前边已经把工作做过了,哈哈)
public class JedisTest {
JedisCluster jedis;
@Before
public void setup() {
Set<HostAndPort> nodes = new HashSet();
nodes.add(new HostAndPort("192.168.52.129",7000));
nodes.add(new HostAndPort("192.168.52.129",7001));
nodes.add(new HostAndPort("192.168.52.129",7002));
nodes.add(new HostAndPort("192.168.52.129",7003));
nodes.add(new HostAndPort("192.168.52.129",7004));
nodes.add(new HostAndPort("192.168.52.129",7005));
jedis = new JedisCluster(nodes);
}
@Test
public void testString() {
jedis.set("xx", "xx");
}
@Test
public void testGetString() {
String xx = jedis.get("xx");
System.out.println("xx");
}
}
亲,亲测可行哦~
ps: 如何连接redis客户端: 在src下 ./redis-cli -c -h 192.168.52.129 -p 7003