redis在spring下的应用

来源:互联网 发布:出纳风险评估矩阵图 编辑:程序博客网 时间:2024/06/11 15:22

1.导入包

pom文件

    <!-- Redis客户端 -->    <dependency>        <groupId>redis.clients</groupId>        <artifactId>jedis</artifactId>    </dependency>

2.Spring的配置

    <!-- 配置redis客户端单机版 -->    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">        <constructor-arg name="host" value="192.168.25.153"></constructor-arg>        <constructor-arg name="port" value="6379"></constructor-arg>    </bean>    <!-- 配置redis客户端实现类 -->    <bean id="jedisClientSingle" class="com.taotao.rest.component.impl.JedisClientSingle"/>
    <!-- 配置redis客户端集群版 -->    <!-- <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">        <constructor-arg>            <set>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7001"/>                </bean>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7002"/>                </bean>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7003"/>                </bean>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7004"/>                </bean>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7005"/>                </bean>                <bean class="redis.clients.jedis.HostAndPort">                    <constructor-arg name="host" value="192.168.25.153"/>                    <constructor-arg name="port" value="7006"/>                </bean>            </set>        </constructor-arg>    </bean>    <bean id="jedisClientCluster" class="com.taotao.rest.component.impl.JedisClientCluster"/> -->

3.创建接口##

public interface JedisClient {    String set(String key, String value);    String get(String key);    Long hset(String key, String item, String value);    String hget(String key, String item);    Long incr(String key);    Long decr(String key);    Long expire(String key, int second);    Long ttl(String key);    Long hdel(String key, String item);}

实现类

import org.springframework.beans.factory.annotation.Autowired;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import com.taotao.rest.component.JedisClient;public class JedisClientSingle implements JedisClient {    @Autowired    private JedisPool jedisPool;    @Override    public String set(String key, String value) {        Jedis jedis = jedisPool.getResource();        String result = jedis.set(key, value);        jedis.close();        return result;    }    @Override    public String get(String key) {        Jedis jedis = jedisPool.getResource();        String result = jedis.get(key);        jedis.close();        return result;    }    @Override    public Long hset(String key, String item, String value) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.hset(key, item, value);        jedis.close();        return result;    }    @Override    public String hget(String key, String item) {        Jedis jedis = jedisPool.getResource();        String result = jedis.hget(key, item);        jedis.close();        return result;    }    @Override    public Long incr(String key) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.incr(key);        jedis.close();        return result;    }    @Override    public Long decr(String key) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.decr(key);        jedis.close();        return result;    }    @Override    public Long expire(String key, int second) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.expire(key, second);        jedis.close();        return result;    }    @Override    public Long ttl(String key) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.ttl(key);        jedis.close();        return result;    }    @Override    public Long hdel(String key, String item) {        Jedis jedis = jedisPool.getResource();        Long result = jedis.hdel(key, item);        jedis.close();        return result;    }}
import org.springframework.beans.factory.annotation.Autowired;import redis.clients.jedis.JedisCluster;import com.taotao.rest.component.JedisClient;public class JedisClientCluster implements JedisClient {    @Autowired    private JedisCluster jedisCluster;    @Override    public String set(String key, String value) {        return jedisCluster.set(key, value);    }    @Override    public String get(String key) {        return jedisCluster.get(key);    }    @Override    public Long hset(String key, String item, String value) {        return jedisCluster.hset(key, item, value);    }    @Override    public String hget(String key, String item) {        return jedisCluster.hget(key, item);    }    @Override    public Long incr(String key) {        return jedisCluster.incr(key);    }    @Override    public Long decr(String key) {        return jedisCluster.decr(key);    }    @Override    public Long expire(String key, int second) {        return jedisCluster.expire(key, second);    }    @Override    public Long ttl(String key) {        return jedisCluster.ttl(key);    }    @Override    public Long hdel(String key, String item) {        return jedisCluster.hdel(key, item);    }}