package com.redis;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisTest {
JedisPool pool;
Jedis je;
@Before
public void conf() {
pool = new JedisPool(new JedisPoolConfig(), "192.168.116.132");
je = pool.getResource();
je.auth("wang");
}
/**
* Redis操作字符串
*/
@Test
public void testString() {
// -----添加数据----------
je.set("name", "hello redis");
System.out.println(je.get("name")); // wanglei123
// -----修改数据-----------
// 1、在原来基础上修改
je.append("name", "jack");
// append到已经有的value之后
System.out.println(je.get("name"));// hello redisjack
// 2、直接覆盖原来的数据
je.set("name", "jack");
System.out.println(je.get("name"));// jack
// 删除key对应的记录
je.del("name");
System.out.println(je.get("name"));// null
}
/**
* jedis操作Map
*/
@Test
public void testMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("name", "jack");
map.put("pwd", "123qwe");
je.hmset("map", map);
// 取出map中name的值
System.out.println(je.hmget("map", "name")); // [jack]
System.out.println(je.hlen("map")); // 返回map存放的值的个数2
System.out.println(je.exists("map"));// 是否存在key为map的记录 返回true
System.out.println(je.hkeys("map")); // 返回map对象中的所有key [pwd, name]
System.out.println(je.hvals("map"));// 返回map对象中的所有value [jack, 123qwe]
// 遍历map
Iterator<String> iter = je.hkeys("map").iterator();
while (iter.hasNext()) {
String key = iter.next();
System.out.println(key + ":" + je.hmget("map", key));
}
// 删除
System.out.println(je.hdel("map", "name"));
}
/**
* jedis操作List
*/
@Test
public void testList() {
// 开始前,先移除所有的内容
je.del("java");
System.out.println(je.lrange("java", 0, -1));
// 先向key java 中存放三条数据
je.lpush("java", "spring");
je.lpush("java", "struts");
je.lpush("java", "hibernate");
// 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
System.out.println(je.lrange("java", 0, -1));
}
/**
* jedis操作Set
*/
@Test
public void testSet() {
// 添加
je.sadd("sname", "java");
je.sadd("sname", "C++");
je.sadd("sname", "PHP");
je.sadd("sanme", "C#");
je.sadd("sname", "wang");
// 移除
je.srem("sname", "C++");
System.out.println(je.smembers("sname"));// 获取所有加入的value
System.out.println(je.scard("sname"));// 返回集合的元素个数
}
}
转载于:https://my.oschina.net/wlwlwlw/blog/689953