java redis 分布式(切片)非分布式(非切片)连接

来源:互联网 发布:js实现倒计时时分秒 编辑:程序博客网 时间:2024/06/06 14:09
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;private String ip = "172.16.205.186";/*** 构造函数*/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, ip, 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(ip, 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));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 的值加上增量 incrementSystem.out.println(shardedJedis.hincrBy("hashs", "entryKey", 123l));// 获取所有的keysSystem.out.println(shardedJedis.hkeys("hashs"));// 获取所有的valuesSystem.out.println(shardedJedis.hvals("hashs"));}/*** @param args*/public static void main(String[] args) {new Test().show();}}


0 0
原创粉丝点击