jedis连接池使用实例
编程技术  /  houtizong 发布于 3年前   74
实例代码:
package com.bijian.study;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;public class TestPool {private Jedis jedis;private JedisPool jedisPool;private ShardedJedis shardedJedis;private ShardedJedisPool shardedJedisPool;public TestPool() {initialPool();initialShardedPool();shardedJedis = shardedJedisPool.getResource();jedis = jedisPool.getResource();}private void initialPool() {JedisPoolConfig config = new JedisPoolConfig();config.setMaxActive(20);config.setMaxIdle(5);config.setMaxWait(1000);config.setTestOnBorrow(false);jedisPool = new JedisPool(config, "192.168.128.129", 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.128.129", 6379, "master"));// 构造池shardedJedisPool = new ShardedJedisPool(config, shards);}public static void main(String[] args) {new TestPool().show();}public void show() {testKey();testString();testList();testSet();testSortedSet();shardedJedisPool.returnResource(shardedJedis);jedisPool.returnResource(jedis);// add by lhs}private void testKey() {System.out.println("=============key==========================");// 清空数据System.out.println(jedis.flushDB());//OKSystem.out.println(jedis.echo("foo"));//foo// 判断key否存在System.out.println(shardedJedis.exists("foo"));//falseshardedJedis.set("key", "values");System.out.println(shardedJedis.exists("key"));//true}private void testString() {System.out.println("=============String==========================");// 清空数据System.out.println(jedis.flushDB());//OK// 存储数据shardedJedis.set("foo", "bar");System.out.println(shardedJedis.get("foo"));//bar// 若key不存在,则存储shardedJedis.setnx("foo", "foo not exits");System.out.println(shardedJedis.get("foo"));//bar// 覆盖数据shardedJedis.set("foo", "foo update");System.out.println(shardedJedis.get("foo"));//foo update// 追加数据shardedJedis.append("foo", " hello, world");System.out.println(shardedJedis.get("foo"));//foo update hello, world// 设置key的有效期,并存储数据shardedJedis.setex("foo", 2, "foo not exits");System.out.println(shardedJedis.get("foo"));//foo not exitstry {Thread.sleep(3000);} catch (InterruptedException e) {}System.out.println(shardedJedis.get("foo"));//null// 获取并更改数据shardedJedis.set("foo", "foo update");System.out.println(shardedJedis.getSet("foo", "foo modify"));//foo update// 截取value的值System.out.println(shardedJedis.getrange("foo", 1, 3));//ooSystem.out.println(jedis.mset("mset1", "mvalue1", "mset2", "mvalue2","mset3", "mvalue3", "mset4", "mvalue4"));//OKSystem.out.println(jedis.mget("mset1", "mset2", "mset3", "mset4"));//[mvalue1,mvalue2,mvalue3,mvalue4]System.out.println(jedis.del(new String[] { "foo", "foo1", "foo3" }));//1}private void testList() {System.out.println("=============list==========================");// 清空数据System.out.println(jedis.flushDB());//OK// 添加数据shardedJedis.lpush("lists", "80");shardedJedis.lpush("lists", "75");shardedJedis.lpush("lists", "100");// 数组长度System.out.println(shardedJedis.llen("lists"));//3// 排序System.out.println(shardedJedis.sort("lists"));//[75,80,100]// 字串System.out.println(shardedJedis.lrange("lists", 0, 3));//[100,75,80]// 修改列表中单个值shardedJedis.lset("lists", 0, "hello list!");// 获取列表指定下标的值System.out.println(shardedJedis.lindex("lists", 1));//75// 删除列表指定下标的值System.out.println(shardedJedis.lrem("lists", 1, "80"));//1// 删除区间以外的数据[保留指定key的值范围内的数据]System.out.println(shardedJedis.ltrim("lists", 0, 1));//OK// 列表出栈System.out.println(shardedJedis.lpop("lists"));//hello list!// 整个列表值System.out.println(shardedJedis.lrange("lists", 0, -1));//[75]}private void testSet() {System.out.println("=============set==========================");// 清空数据System.out.println(jedis.flushDB());//OK// 添加数据shardedJedis.sadd("sets", "HashSet");shardedJedis.sadd("sets", "SortedSet");shardedJedis.sadd("sets", "TreeSet");// 判断value是否在列表中System.out.println(shardedJedis.sismember("sets", "TreeSet"));//true// 整个列表值System.out.println(shardedJedis.smembers("sets"));//[SortedSet, TreeSet, HashSet]// 删除指定元素System.out.println(shardedJedis.srem("sets", "SortedSet"));//1// 出栈System.out.println(shardedJedis.spop("sets"));//TreeSetSystem.out.println(shardedJedis.smembers("sets"));//[HashSet]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"));//[SortedSet1]// 并集System.out.println(jedis.sunion("sets1", "sets2"));//[HashSet2, HashSet1, TreeSet1, SortedSet1, TreeSet]// 差集System.out.println(jedis.sdiff("sets1", "sets2"));//[TreeSet, HashSet1]}private void testSortedSet() {System.out.println("=============zset==========================");// 清空数据System.out.println(jedis.flushDB());//OK// 添加数据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"));//4// 元素下标System.out.println(shardedJedis.zscore("zset", "zset"));//9.0// 集合子集System.out.println(shardedJedis.zrange("zset", 0, -1));//[zset, :, hello, zset!]// 删除元素System.out.println(shardedJedis.zrem("zset", "zset!"));//1// 返回集合中score在给定区间的数量System.out.println(shardedJedis.zcount("zset", 9.5, 10.5));//2// 整个集合值System.out.println(shardedJedis.zrange("zset", 0, -1));//[zset, :, hello]}}
运行结果:
=============key==========================OKfoofalsetrue=============String==========================OKbarbarfoo updatefoo update hello, worldfoo not exitsnullfoo updateoo OK[mvalue1, mvalue2, mvalue3, mvalue4]1=============list==========================OK3[75, 80, 100][100, 75, 80]751OKhello list![75]=============set==========================OKtrue[SortedSet, TreeSet, HashSet]1TreeSet[HashSet][SortedSet1][HashSet2, HashSet1, TreeSet1, SortedSet1, TreeSet][TreeSet, HashSet1]=============zset==========================OK49.0[zset, :, hello, zset!]12[zset, :, hello]
PS:如上实例是基于jedis-2.0.0.jar、commons-pool-1.6.jar运行的。
文章来源:http://blog.sina.com.cn/s/blog_5d97745a01018gsh.html
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接