import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.List;
import java.util.Map;
import java.util.Set;
private JedisPool jedisPool;
获取连接池
@BeforeTest
public void getJedisPool() {
// 配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(10); // 最大空闲连接数
jedisPoolConfig.setMinIdle(5); // 最下空闲连接数
jedisPoolConfig.setMaxTotal(20);
jedisPoolConfig.setMaxWaitMillis(5000); // 超时等待时间
// 创建连接池
jedisPool = new JedisPool(jedisPoolConfig, "node01", 6379);
}
String操作
@Test
public void stringOperate() {
// 获取客户端
Jedis resource = jedisPool.getResource();
resource.set("string1", "value1");
String value = resource.get("string1");
System.out.println(value);
// 关闭客户端连接
resource.close();
}
hash 操作
@Test
public void hashOperate(){
Jedis hash = jedisPool.getResource();
hash.hsetnx("hkey1", "name", "zjw");
hash.hsetnx("hkey1", "age", "22");
hash.hsetnx("hkey1", "sex", "man");
// hash.hdel("hkey1", "name");
// List<String> mget = hash.hmget("hkey1", "name", "age","sex");
// for (String s : mget) {
// System.out.println(s);
// }
Map<String, String> map = hash.hgetAll("hkey1");
for (String key : map.keySet()) {
System.out.println("key:" + key + " \tvalue:" + map.get(key));
}
hash.close();
}
list类型数据操作
@Test
public void listOperate(){
Jedis jedisResource = jedisPool.getResource();
// 从左边插入元素
jedisResource.lpush("list2", "a","b","c","d");
// 获取list的元素
List<String> lrange = jedisResource.lrange("list2", 0, -1);
for (String s : lrange) {
System.out.println(s);
}
jedisResource.close();
}
/**
* set数据类型
*/
@Test
public void setOperate(){
Jedis set = jedisPool.getResource();
set.sadd("set2", "animal", "fruit", "country");
Set<String> smembers = set.smembers("set2");
// Long aLong = set.scard(“set2”);
// System.out.println(aLong);
int i = 1;
for (String smember : smembers) {
System.out.println(i++ + ":"+smember);
}
set.close();
}
关闭连接池
@AfterTest
public void jedisPoolClose() {
jedisPool.close();
}