/*
* (C) Copyright 2015-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Contributors:
* ohun@live.cn (夜色)
*//*
package com.mpush.test.redis;
import com.google.common.collect.Lists;
import com.mpush.cache.redis.client.RedisClient;
import com.mpush.cache.redis.RedisServer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class RedisUtilTest {
RedisServer node = new RedisServer("127.0.0.1", 6379);
List<RedisServer> nodeList = Lists.newArrayList(node);
@Test
public void testAddAndGetAndDelete() {
Jedis jedis = RedisClient.getClient(node);
jedis.set("hi", "huang");
String ret = jedis.get("hi");
System.out.println(ret);
jedis.del("hi");
ret = jedis.get("hi");
if (ret == null) {
System.out.println("ret is null");
} else {
System.out.println("ret is not null:" + ret);
}
}
@Test
public void testJedisPool() {
// 最大连接数是8,因此,获取10个链接会抛错误
List<Jedis> jedisList = Lists.newArrayList();
for (int i = 0; i < 10; i++) {
Jedis jedis = RedisClient.getClient(node);
jedisList.add(jedis);
}
}
@Test
public void testJedisPool2() {
// 最大连接数是8,因此,获取10个链接会抛错误
List<Jedis> jedisList = Lists.newArrayList();
for (int i = 1; i <= 8; i++) {
Jedis jedis = RedisClient.getClient(node);
jedisList.add(jedis);
}
System.out.println(jedisList.size());
try {
Jedis jedis = RedisClient.getClient(node);
jedisList.add(jedis);
System.out.println("first get jedis success");
} catch (Exception e) {
System.out.println(e);
}
// 关闭一个链接
RedisClient.close(jedisList.get(0));
try {
Jedis jedis = RedisClient.getClient(node);
jedisList.add(jedis);
System.out.println("second get jedis success");
} catch (Exception e) {
System.out.println(e);
}
System.out.println(jedisList.size());
}
@Test
public void testKV() {
User user = new User("huang", 18, new Date());
RedisClient.set(nodeList, "test", user);
User nowUser = RedisClient.get(node, "test", User.class);
System.out.println("node1:" + ToStringBuilder.reflectionToString(nowUser));
nowUser = RedisClient.get(node, "test", User.class);
System.out.println("node2:" + ToStringBuilder.reflectionToString(nowUser));
RedisClient.del(nodeList, "test");
nowUser = RedisClient.get(node, "test", User.class);
if (nowUser == null) {
System.out.println("node2 nowUser is null");
} else {
System.out.println("node2:" + ToStringBuilder.reflectionToString(nowUser));
}
nowUser = RedisClient.get(node, "test", User.class);
if (nowUser == null) {
System.out.println("node nowUser is null");
} else {
System.out.println("node:" + ToStringBuilder.reflectionToString(nowUser));
}
RedisClient.set(nodeList, "test", user, 10);
try {
Thread.sleep(12000);
} catch (InterruptedException e) {
e.printStackTrace();
}
nowUser = RedisClient.get(node, "test", User.class);
if (nowUser == null) {
System.out.println("node2 nowUser is null");
} else {
System.out.println("node2:" + ToStringBuilder.reflectionToString(nowUser));
}
nowUser = RedisClient.get(node, "test", User.class);
if (nowUser == null) {
System.out.println("node nowUser is null");
} else {
System.out.println("node:" + ToStringBuilder.reflectionToString(nowUser));
}
}
@Test
public void hashTest() {
User user = new User("huang", 18, new Date());
RedisClient.hset(nodeList, "hashhuang", "hi", user);
User nowUser = RedisClient.hget(node, "hashhuang", "hi", User.class);
System.out.println("node1:" + ToStringBuilder.reflectionToString(nowUser));
nowUser = RedisClient.hget(node, "hashhuang", "hi", User.class);
System.out.println("node2:" + ToStringBuilder.reflectionToString(nowUser));
Map<String, User> ret = RedisClient.hgetAll(node, "hashhuang", User.class);
Iterator<Map.Entry<String, User>> iterator = ret.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, User> entry = iterator.next();
String key = entry.getKey();
User val = entry.getValue();
System.out.println("all:" + key + "," + ToStringBuilder.reflectionToString(val));
}
RedisClient.hdel(nodeList, "hashhuang", "hi");
nowUser = RedisClient.hget(node, "hashhuang", "hi", User.class);
if (nowUser == null) {
System.out.println("node2 nowUser is null");
} else {
System.out.println("node2:" + ToStringBuilder.reflectionToString(nowUser));
}
nowUser = RedisClient.hget(node, "hashhuang", "hi", User.class);
if (nowUser == null) {
System.out.println("node nowUser is null");
} else {
System.out.println("node:" + ToStringBuilder.reflectionToString(nowUser));
}
}
@Test
public void testSet() {
// System.out.println(RedisClient.sCard(node, RedisKey.getOnlineUserListKey()));
// List<String> onlineUserIdList = RedisClient.sScan(node, RedisKey.getOnlineUserListKey(), String.class, 0);
// System.out.println(onlineUserIdList.size());
}
@Test
public void testlist() {
// RedisClient.del(nodeList, RedisKey.getUserOfflineKey());
}
@Test
public void testsortedset() {
// RedisClient.zAdd(nodeList, RedisKey.getOnlineUserListKey(), "doctor1test");
// long len =RedisClient.zCard(node, RedisKey.getOnlineUserListKey());
// System.out.println(len);
}
}
*/