通过JedisPool获取Jedis示例

零下一度
零下一度 原创
2017-06-29 10:00:10 2669浏览

本节目标

通过JedisPool获取Jedis示例,并完成对redis 简单的Key-value读写操作。

完整代码结构如下:

Image

redis服务端

在本地运行redis-server.exe,然后在resources新建jedis.properties:

redis.host=localhost
redis.port=6379

配置jedis

我们将jedis相关配置放在单独的Spring Config中,在resources/spring目录新建applicationContext-jedis.xml。

     <!-- 加载配置属性文件 -->
    <context:property-placeholder ignore-unresolvable="true" location="classpath*:jedis.properties"/>

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxIdle" value="300"/> <!-- 最大能够保持idel状态的对象数  -->
        <property name="maxTotal" value="60000"/> <!-- 最大分配的对象数 -->
        <property name="testOnBorrow" value="true"/> <!-- 当调用borrow Object方法时,是否进行有效性检查 -->
    </bean>

    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg index="0" ref="jedisPoolConfig"/>
        <constructor-arg index="1" value="${redis.host}" type="java.lang.String"/>
        <constructor-arg index="2" value="${redis.port}" type="int"/>
    </bean>

测试

添加单元测试,通过@Resource注解获取JedisPool实例对象。

@Resourceprivate JedisPool jedisPool;

然后调用jedisPool对象的getResource()方法就可以获取到Jedis实例了。

Jedis jedis = jedisPool.getResource();

先测试个最基本的get,set操作

    @Testpublic void TestRedis() {
        Jedis jedis = jedisPool.getResource();

        String key = "a";
        jedis.set(key, "111");

        String data = jedis.get(key);

        System.out.println(data);

    }

运行结果:111

再测试个列表操作:

@Testpublic  void testList(){
        Jedis jedis=jedisPool.getResource();

        String key="articles";

        jedis.lpush(key,"文章1");
        jedis.lpush(key,"文章2");
        jedis.lpush(key,"文章3");

        List<String> articles=jedis.lrange(key,0,3);for(String article:articles){
            System.out.println(article);
        }
    }

运行结果:

文章3

文章2

文章1

再来个集合操作:

@Testpublic void testSet(){
        Jedis jedis=jedisPool.getResource();

        String key="tags";
        jedis.sadd(key,"宝马");
        jedis.sadd(key,"豪车");
        jedis.sadd(key,"SUV");
        jedis.sadd(key,"SUV");

        Set<String> tags=jedis.smembers(key);for(String tag:tags){
            System.out.println(tag);
        }
    }

运行结果:

宝马

豪车

SUV

先到这里吧,SO EASY!!

以上就是通过JedisPool获取Jedis示例的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。