用eclipse新建一个Maven工程,在pom.xml文件里面,引入redis和junit的依赖。
4.0.0
com.comtop.cn
JavaRedis
0.0.1-SNAPSHOT
JavaRedis
java连接redis例子
junit
junit
4.12
test
redis.clients
jedis
2.9.0
新建一个测试类,测试redis字符串、List列表、哈希(hash)、set、sorted set、HyperLogLog。
public class JavaRedisTest {
Jedis jedis;
@Before
public void SetUp() throws Exception {
jedis=new Jedis("localhost");
}
@After
public void tearDown() throws Exception {
System.out.println("运行结束");
}
/**
* 连接redis服务器
*/
@Test
public void pingTest(){
System.out.println("连接成功");
System.out.println("服务正在运行:"+jedis.ping());
}
/**
* 字符串实例
*/
@Test
public void setKeyTest(){
jedis.set("cz", "cz");
System.out.println("redis 存储的字符串为:"+jedis.get("cz"));
}
/**
* List列表实例
*/
@Test
public void listTest(){
jedis.lpush("url", "www.baidu.com");
jedis.lpush("url", "www.2345.com");
jedis.lpush("url", "www.sina.com.cn");
jedis.lpush("url", "www.qq.com");
List urlList=jedis.lrange("url", 0, 10);
for(int i=0;i
System.out.println("列表项为:"+urlList.get(i));
}
}
/**
* 测试hash
*/
@Test
public void hashTest(){
Map redisMap=new HashMap();
redisMap.put("userName", "张三");
redisMap.put("age", "25");
redisMap.put("sex", "男");
jedis.hmset("redisMap", redisMap);
Map resultMap=jedis.hgetAll("redisMap");
for(String key:resultMap.keySet()){
System.out.println("Key="+key+",Value="+resultMap.get(key));
}
}
/**
* 测试Set
* 无序Set集合
*/
@Test
public void setTest(){
jedis.sadd("db", "redis");
jedis.sadd("db", "mongdb");
jedis.sadd("db", "oracle");
jedis.sadd("db", "mysql");
jedis.sadd("db", "greenplum");
Set dbSet=jedis.smembers("db");
for(String db:dbSet ){
System.out.println("set 成员有:"+db);
}
}
/**
* 测试sorted set
* 有序set集合
*/
@Test
public void zSetTest(){
jedis.zadd("dbs", 0, "redis");
jedis.zadd("dbs", 1, "mongdb");
jedis.zadd("dbs", 2, "oracle");
jedis.zadd("dbs", 3, "mysql");
jedis.zadd("dbs", 4, "greenplum");
Set dbSet=jedis.zrange("dbs", 0, 5);
for(String db:dbSet ){
System.out.println("有序set 成员有:"+db);
}
}
/**
* 测试HyperLogLog
* Redis HyperLogLog 是用来做基数统计的算法,
* HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
*/
@Test
public void hyperLogLogTest(){
jedis.pfadd("count", "one");
jedis.pfadd("count", "two");
jedis.pfadd("count", "three");
jedis.pfadd("count", "four");
jedis.pfadd("count", "five");
System.out.println("HyperLogLog 的基数估算值为:"+jedis.pfcount("count"));
}
}