0

在redis java客户端中,我发现了这个:

To use it, init a pool:

JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");
You can store the pool somewhere statically, it is thread-safe.

我只是想知道,使用 spring,我怎样才能静态存储 JedisPool。

4

1 回答 1

1

你没有。

在春季,最好定义一个 JedisPool bean 并在必要时自动装配它。

例如,使用 xml 配置:

 <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
      <constructor-arg>
           <bean class="redis.clients.jedis.JedisPoolConfig" />
      </consrtuctor-arg>
      <constructor-arg value="localhost" />
 </bean>

然后,在你的豆子里面:

@Autowire
JedisPool jedisPool;

如果你使用spring java config会更简单——你可以完全使用你发布的代码来定义池 bean:

@Configuration
public class Configuration {

    @Bean
    public JedisPool createJedisPool() { 
        return new JedisPool(new JedisPoolConfig(), "localhost");
    }
}

此外,您可能想看看spring-data - redis

于 2012-12-24T12:40:51.377 回答