使用java测试redis与见的问题及解决方法及测试类
package com.taotao.rest.jedis;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* redis测试:引入jar包jedis,及相关测试时的解决方法
*
* @Title: JedisTest
* @author xwp
* @date 2017年1月16日下午8:43:17
*/
@SuppressWarnings("resource")
public class JedisTest {
/**
* 测试结果:失败
(一).测试结果超时,使用连接池试试 ,结局还是失败:所以怀疑并不是数据量过大导致,
(二).也许是linux的防火墙阻止了外网访问
解决方法:
//让外网可以访问6379
[root@localhost sysconfig]# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
//保存
[root@localhost sysconfig]# /etc/rc.d/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
//添加本地可以访问
[root@localhost sysconfig]# iptables -A INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT
//阻止外地Id访问
[root@localhost sysconfig]# iptables -A INPUT -p TCP --dport 6379 -j REJECT
*/
/**
* 单机测试默认端口6379
*/
@Test
public void testJedisSingle() {
// 创建一个jedis的对象。默认端口6379
Jedis jedis = new Jedis("192.168.13.129", 6379);
// 调用jedis对象的方法,方法名称和redis的命令一致。
jedis.set("key1", "jedis test");
String string = jedis.get("key1");
System.out.println(string);
// 关闭jedis。
jedis.close();
}
@Test
public void testString() {
// 创建一个jedis的对象。默认端口6379
Jedis jedis = new Jedis("192.168.13.129", 6379);
// -----添加数据----------
jedis.set("name", "xinxin");// 向key-->name中放入了value-->xinxin
System.out.println(jedis.get("name"));// 执行结果:xinxin
jedis.append("name", " is my lover"); // 拼接
System.out.println(jedis.get("name"));
jedis.del("name"); // 删除某个键
System.out.println(jedis.get("name"));
// 设置多个键值对