您的位置:首页 > 数据库 > Redis

redis的Java客户端Jedis测试验证

2013-01-08 00:00 344 查看
edis.jar包:https://github.com/xetorthio/jedis/downloads

commons-pool:http://commons.apache.org/pool/download_pool.cgi

添加到lib

我的版本:jedis-2.1.0.jar commons-pool-1.6-bin.zip
import java.util.ArrayList;

import java.util.List;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

import redis.clients.jedis.JedisShardInfo;

import redis.clients.jedis.ShardedJedis;

import redis.clients.jedis.ShardedJedisPool;

/**

* redis的Java客户端Jedis测试验证

*

* @author

*/

public class Test

{

/**

* 非切片客户端链接

*/

private Jedis jedis;

/**

* 非切片链接池

*/

private JedisPool jedisPool;

/**

* 切片客户端链接

*/

private ShardedJedis shardedJedis;

/**

* 切片链接池

*/

private ShardedJedisPool shardedJedisPool;

/**

* 构造函数

*/

public Test()

{

initialPool();

initialShardedPool();

shardedJedis = shardedJedisPool.getResource();

jedis = jedisPool.getResource();

}

private void initialPool()

{

// 池基本配置

JedisPoolConfig config = new JedisPoolConfig();

config.setMaxActive(20);

config.setMaxIdle(5);

config.setMaxWait(1000l);

config.setTestOnBorrow(false);

jedisPool = new JedisPool(config, "192.168.1.102", 6379);

}

/**

* 初始化切片池

*/

private void initialShardedPool()

{

// 池基本配置

JedisPoolConfig config = new JedisPoolConfig();

config.setMaxActive(20);

config.setMaxIdle(5);

config.setMaxWait(1000l);

config.setTestOnBorrow(false);

// slave链接

List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();

shards.add(new JedisShardInfo("192.168.120.51", 6379, "master"));

// 构造池

shardedJedisPool = new ShardedJedisPool(config, shards);

}

public void show()

{

// key检测

testKey();

// string检测

testString();

// list检测

testList();

// set检测

testSet();

// sortedSet检测

testSortedSet();

// hash检测

testHash();

shardedJedisPool.returnResource(shardedJedis);

}

private void testKey()

{

System.out.println("=============key==========================");

// 清空数据

System.out.println(jedis.flushDB());

System.out.println(jedis.echo("foo"));

// 判断key否存在

System.out.println(shardedJedis.exists("foo"));

shardedJedis.set("key", "values");

System.out.println(shardedJedis.exists("key"));

}

private void testString()

{

System.out.println("=============String==========================");

// 清空数据

System.out.println(jedis.flushDB());

// 存储数据

shardedJedis.set("foo", "bar");

System.out.println(shardedJedis.get("foo"));

// 若key不存在,则存储

shardedJedis.setnx("foo", "foo not exits");

System.out.println(shardedJedis.get("foo"));

// 覆盖数据

shardedJedis.set("foo", "foo update");

System.out.println(shardedJedis.get("foo"));

// 追加数据

shardedJedis.append("foo", " hello, world");

System.out.println(shardedJedis.get("foo"));

// 设置key的有效期,并存储数据

shardedJedis.setex("foo", 2, "foo not exits");

System.out.println(shardedJedis.get("foo"));

try

{

Thread.sleep(3000);

}

catch (InterruptedException e)

{

}

System.out.println(shardedJedis.get("foo"));

// 获取并更改数据

shardedJedis.set("foo", "foo update");

System.out.println(shardedJedis.getSet("foo", "foo modify"));

// 截取value的值

System.out.println(shardedJedis.getrange("foo", 1, 3)); //也可写作shardedJedis..substr()

System.out.println(jedis.mset("mset1", "mvalue1", "mset2", "mvalue2", "mset3", "mvalue3", "mset4", "mvalue4"));

System.out.println(jedis.mget("mset1", "mset2", "mset3", "mset4"));

System.out.println(jedis.del(new String[]

{

"foo", "foo1", "foo3"

}));

}

private void testList()

{

System.out.println("=============list==========================");

// 清空数据

System.out.println(jedis.flushDB());

// 添加数据

shardedJedis.lpush("lists", "vector");

shardedJedis.lpush("lists", "ArrayList");

shardedJedis.lpush("lists", "LinkedList");

// 数组长度

System.out.println(shardedJedis.llen("lists"));

// 排序

System.out.println(shardedJedis.sort("lists"));

// 字串

System.out.println(shardedJedis.lrange("lists", 0, 3));

// 修改列表中单个值

shardedJedis.lset("lists", 0, "hello list!");

// 获取列表指定下标的值

System.out.println(shardedJedis.lindex("lists", 1));

// 删除列表指定下标的值

System.out.println(shardedJedis.lrem("lists", 1, "vector"));

// 删除区间以外的数据

System.out.println(shardedJedis.ltrim("lists", 0, 1));

// 列表出栈

System.out.println(shardedJedis.lpop("lists"));

// 整个列表值

System.out.println(shardedJedis.lrange("lists", 0, -1));

}

private void testSet()

{

System.out.println("=============set==========================");

// 清空数据

System.out.println(jedis.flushDB());

// 添加数据

shardedJedis.sadd("sets", "HashSet");

shardedJedis.sadd("sets", "SortedSet");

shardedJedis.sadd("sets", "TreeSet");

// 判断value是否在列表中

System.out.println(shardedJedis.sismember("sets", "TreeSet"));;

// 整个列表值

System.out.println(shardedJedis.smembers("sets"));

// 删除指定元素

System.out.println(shardedJedis.srem("sets", "SortedSet"));

// 出栈

System.out.println(shardedJedis.spop("sets"));

System.out.println(shardedJedis.smembers("sets"));

//

shardedJedis.sadd("sets1", "HashSet1");

shardedJedis.sadd("sets1", "SortedSet1");

shardedJedis.sadd("sets1", "TreeSet");

shardedJedis.sadd("sets2", "HashSet2");

shardedJedis.sadd("sets2", "SortedSet1");

shardedJedis.sadd("sets2", "TreeSet1");

// 交集

System.out.println(jedis.sinter("sets1", "sets2"));

// 并集

System.out.println(jedis.sunion("sets1", "sets2"));

// 差集

System.out.println(jedis.sdiff("sets1", "sets2"));

}

private void testSortedSet()

{

System.out.println("=============zset==========================");

// 清空数据

System.out.println(jedis.flushDB());

// 添加数据

shardedJedis.zadd("zset", 10.1, "hello");

shardedJedis.zadd("zset", 10.0, ":");

shardedJedis.zadd("zset", 9.0, "zset");

shardedJedis.zadd("zset", 11.0, "zset!");

// 元素个数

System.out.println(shardedJedis.zcard("zset"));

// 元素下标

System.out.println(shardedJedis.zscore("zset", "zset"));

// 集合子集

System.out.println(shardedJedis.zrange("zset", 0, -1));

// 删除元素

System.out.println(shardedJedis.zrem("zset", "zset!"));

System.out.println(shardedJedis.zcount("zset", 9.5, 10.5));

// 整个集合值

System.out.println(shardedJedis.zrange("zset", 0, -1));

}

private void testHash()

{

System.out.println("=============hash==========================");

// 清空数据

System.out.println(jedis.flushDB());

//添加数据

shardedJedis.hset("hashs", "entryKey", "entryValue");

shardedJedis.hset("hashs", "entryKey1", "entryValue1");

shardedJedis.hset("hashs", "entryKey2", "entryValue2");

// 判断某个值是否存在

System.out.println(shardedJedis.hexists("hashs", "entryKey"));

// 获取指定的值

System.out.println(shardedJedis.hget("hashs", "entryKey"));

// 批量获取指定的值

System.out.println(shardedJedis.hmget("hashs", "entryKey", "entryKey1"));

// 删除指定的值

System.out.println(shardedJedis.hdel("hashs", "entryKey"));

// 为key中的域 field 的值加上增量 increment

System.out.println(shardedJedis.hincrBy("hashs", "entryKey", 123l));

// 获取所有的keys

System.out.println(shardedJedis.hkeys("hashs"));

// 获取所有的values

System.out.println(shardedJedis.hvals("hashs"));

}

/**

* @param args

*/

public static void main(String[] args)

{

new Test().show();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: