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

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 shards = new ArrayList();

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 的值加上增量 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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值