Rumah  >  Artikel  >  Java  >  通过JedisPool获取Jedis示例

通过JedisPool获取Jedis示例

零下一度
零下一度asal
2017-06-29 10:00:103020semak imbas

本节目标

通过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!!

Atas ialah kandungan terperinci 通过JedisPool获取Jedis示例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn