欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

通过JedisPool获取Jedis示例

程序员文章站 2022-05-14 15:44:27
...

本节目标

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

完整代码结构如下:

通过JedisPool获取Jedis示例

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示例的详细内容,更多请关注其它相关文章!

相关标签: -Jedis redis JAVA