Jedis Connection Pool 설정 및 사용(xml)

이번에 프로젝트를 진행하며 Jedis를 사용하게 되었는데 그 기록을 남깁니다.

XML을 통한 설정으로 진행하였습니다.

<!-- Jedis Connection Pool configuration -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig" p:maxTotal="30" p:maxIdle="10"/>

    <!-- Jedis connection pool -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="usePool" value="true"/>
        <property name="hostName" value="127.0.0.1"/>
        <property name="port" value="6379"/>
        <property name="poolConfig" ref="jedisPoolConfig"/>
    </bean>


위와 같이 XML을 통해 Jedis Connection Pool을 설정해주고,


아래와 같이(테스트 예제) Connection 생성 및 사용을 하였습니다.


public class JedisTest {
	
	private JedisConnectionFactory jedisConnectionFactory;
	
	@Autowired
    public void setJedisConnectionFactory(JedisConnectionFactory jedisConnectionFactory) {
        this.jedisConnectionFactory = jedisConnectionFactory;
    }
	
	Jedis jedis = jedisConnectionFactory.getConnection().getNativeConnection();
	
	<!-- 삽입 -->
	jedis.hmset(key, value);
	
	<!-- 삭제 -->
	jedis.del(key);	
	
	jedis.close();
}


Spring에서 제공하는 기본 Redis를 통해 설정하고 사용하는 방법은 복잡했는데, Jedis를 통한 사용의 경우 훨씬 간편한 것 같습니다.


더 많은 기능들이 있으나 나머지는 시간이 된다면 추가하도록 하겠습니다.




아! 그리고 아래의 기능은 Jedis Key Pattern(키 패턴)을 이용하여 관련된 Key를 한번에 삭제하는 예제입니다.


messages부분에 key값이 들어값니다. *를 통해서 messages가 앞에 붙는 Key들을 한꺼번에 삭제하게 됩니다.


Set<String> keys = jedis.keys("messages*");
jedis.del(keys.toArray(new String[keys.size()]));


반응형