SSM Redis集群和单机

一、pom加入包

<!--json -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.28</version>
    </dependency>
    <!--redis -->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>
    <!-- spring-data-redis 依赖-->
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-redis</artifactId>
      <version>1.7.1.RELEASE</version>
    </dependency>

二、创建一个interface:

package com.mvc.util;

import java.util.List;

public interface IRedis {
    String set(String key,String value);
    String get(String key);
    Boolean exists(String key);
    Long expire(String key,int seconds);
    Long ttl(String key);
    Long incr(String key);
    String hget(String key,String field);
    Long hset(String key, String field, String value);
    Long hdel(String key,String... field);
    Boolean hexistes(String key,String field);
    List<String> hvals(String key);
    Long del(String key);
}

三、连接集群:创建class,继承接口:

package com.mvc.util;

import java.util.List;

import redis.clients.jedis.JedisCluster;

public class Cluster implements IRedis {

    private JedisCluster jedisCluster;


    public JedisCluster getJedisCluster() {
        return jedisCluster;
    }

    public void setJedisCluster(JedisCluster jedisCluster) {
        this.jedisCluster = jedisCluster;
    }

    @Override
    public String set(String key, String value) {
        // TODO Auto-generated method stub
        return jedisCluster.set(key, value);
    }

    @Override
    public String get(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.get(key);
    }

    @Override
    public Boolean exists(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.exists(key);
    }

    @Override
    public Long expire(String key, int seconds) {
        // TODO Auto-generated method stub
        return jedisCluster.expire(key, seconds);
    }

    @Override
    public Long ttl(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.ttl(key);
    }

    @Override
    public Long incr(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.incr(key);
    }

    @Override
    public String hget(String key, String field) {
        // TODO Auto-generated method stub
        return jedisCluster.hget(key, field);
    }

    @Override
    public Long hset(String key, String field, String value) {
        // TODO Auto-generated method stub
        return jedisCluster.hset(key, field, value);
    }

    @Override
    public Long hdel(String key, String... field) {
        // TODO Auto-generated method stub
        return jedisCluster.hdel(key, field);
    }

    @Override
    public Boolean hexistes(String key, String field) {
        // TODO Auto-generated method stub
        return jedisCluster.hexists(key, field);
    }

    @Override
    public List<String> hvals(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.hvals(key);
    }

    @Override
    public Long del(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.del(key);
    }

}

四、在Spring xml文件,进行配置:

<bean id="cluster" class="com.mvc.util.Cluster">
        <property name="JedisCluster" ref="jedisCluster"/>
    </bean>

    <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
        <constructor-arg name="nodes">
            <set>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6379"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6380"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6381"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6382"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6383"/>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="127.0.0.1"/>
                    <constructor-arg name="port" value="6384"/>
                </bean>

            </set>
        </constructor-arg>
    </bean>

五、在service层使用,查询时,先从redis中查,如果有,直接返回,没有从数据库中查,将查到的结果放到redis中

单机版(只有Spring xml文件加入的内容和Cluster类不一样)

Cluster类内容改成

package com.mvc.util;

import java.util.List;

import redis.clients.jedis.JedisCluster;

public class Cluster implements IRedis {

    private JedisCluster jedisCluster;


    public JedisCluster getJedisCluster() {
        return jedisCluster;
    }

    public void setJedisCluster(JedisCluster jedisCluster) {
        this.jedisCluster = jedisCluster;
    }

    @Override
    public String set(String key, String value) {
        // TODO Auto-generated method stub
        return jedisCluster.set(key, value);
    }

    @Override
    public String get(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.get(key);
    }

    @Override
    public Boolean exists(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.exists(key);
    }

    @Override
    public Long expire(String key, int seconds) {
        // TODO Auto-generated method stub
        return jedisCluster.expire(key, seconds);
    }

    @Override
    public Long ttl(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.ttl(key);
    }

    @Override
    public Long incr(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.incr(key);
    }

    @Override
    public String hget(String key, String field) {
        // TODO Auto-generated method stub
        return jedisCluster.hget(key, field);
    }

    @Override
    public Long hset(String key, String field, String value) {
        // TODO Auto-generated method stub
        return jedisCluster.hset(key, field, value);
    }

    @Override
    public Long hdel(String key, String... field) {
        // TODO Auto-generated method stub
        return jedisCluster.hdel(key, field);
    }

    @Override
    public Boolean hexistes(String key, String field) {
        // TODO Auto-generated method stub
        return jedisCluster.hexists(key, field);
    }

    @Override
    public List<String> hvals(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.hvals(key);
    }

    @Override
    public Long del(String key) {
        // TODO Auto-generated method stub
        return jedisCluster.del(key);
    }

}

Spring xml文件加入依赖改成

<bean id="redis" class="com.aynu.redis.imp.Redis">  
        <property name="jedispool" ref="jedispool"/>  
       </bean>  
         
       <bean id="jedispool" class="redis.clients.jedis.JedisPool">  
        <constructor-arg name="host" value="192.168.146.128"/>  
        <constructor-arg name="port" value="6379"/>  
       </bean>

猜你喜欢

转载自blog.csdn.net/qq_33391644/article/details/82797203
今日推荐