在pom.xml中添加redis客户端jedis依赖

  1. <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.0</version> </dependency>

redis linux下安装

1.下载、上传、解压
    redis-4.0.2.tar.gz
2.安装C语言编译环境
    yum install -y gcc-c++
3.编译安装
    编译:进入Redis解压目录执行make命令
    安装:make install
4.创建Redis专属目录
    mkdir /usr/local/redis
5.将redis.conf复制到专属目录并修改
     35 # By default Redis does not run as a daemon. Use 'yes' if you need it.
     36 # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
     37 daemonize yes
6.启动Redis
    /usr/local/bin/redis-server /usr/local/redis/redis.conf
    查看6379端口监听情况
    临时指定端口号的启动方式如下:
    /usr/local/bin/redis-server /usr/local/redis/redis.conf --port 7000
    如果不指定配置文件位置则按默认配置启动。
7.压力测试
    /usr/local/bin/redis-benchmark
    Redis每秒80000次写操作,110000次读操作。
8.通过Redis客户端登录Redis服务器
    [root@right bin]# /usr/local/bin/redis-cli [-p 6379]
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> exit
    [root@right bin]#
9.停止Redis服务器
    按默认6379端口号停止:/usr/local/bin/redis-cli shutdown
    停止指定服务器:/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
    在客户端登录状态下停止:127.0.0.1:6379> shutdown

 新建spring配置文件 spring-redis.xml 

<bean class="redis.clients.jedis.JedisPool" id="jedisPool">
        <constructor-arg name="host" value="${redis.host}"></constructor-arg>
        <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
        <constructor-arg name="port" value="${redis.port}"></constructor-arg>
    </bean>
    <bean class="redis.clients.jedis.JedisPoolConfig" id="jedisPoolConfig">
        <property name="maxIdle" value="${maxIdle}" />
        <property name="maxTotal" value="${maxActive}" />
        <property name="maxWaitMillis" value="${maxWait}" />
        <property name="testOnBorrow" value="${testOnBorrow}" />
        <property name="blockWhenExhausted" value="${blockWhenExhausted}" />
    </bean>

 新建redis.properties属性文件,相关的配置信息在属性文件中配置,比如host port 等等

# 主要配置,其他配置可不用填写
redis.host=对应的IP地址
redis.port=6379  #对应的端口号,默认6379

maxIdle=300  
maxActive=1000
maxWait=1000
maxTotal=600
testOnBorrow=false
blockWhenExhausted=true

 其他配置说明

#ip地址
redis.hostName=127.0.0.1
#端口号
redis.port=6379
#如果有密码
redis.password=
#客户端超时时间单位是毫秒 默认是2000
redis.timeout=10000  


#最大空闲数
redis.maxIdle=300  
#连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal
#redis.maxActive=600
#控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性
redis.maxTotal=1000  
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
redis.maxWaitMillis=1000  
#连接的最小空闲时间 默认1800000毫秒(30分钟)
redis.minEvictableIdleTimeMillis=300000  
#每次释放连接的最大数目,默认3
redis.numTestsPerEvictionRun=1024  
#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
redis.timeBetweenEvictionRunsMillis=30000  
#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个,数据量大的时候建议关闭
redis.testOnBorrow=true  
#在空闲时检查有效性, 默认false
redis.testWhileIdle=true

 编写redis通用工具类JedisCacheClient,因为我目前只用到三个,所以只写了三个最常用的set  get 和expire


  1. @Service //把当前类放入到spring的IOC容器中
    public class JedisCacheClient {
        @Autowired //自动注入redis连接池
        private JedisPool jedisPool;
    
        /**
         * setVExpire(设置key值,同时设置失效时间 秒
         */
        public void set(String key, String value) {
            Jedis jedis = null;
            try {
                jedis = jedisPool.getResource();
                jedis.set(key, value);
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
               this.close(jedis); 
            }
    
        }
    
        /**
         * (存入redis数据)
         */
        public void expire(String key, String value, Integer times) {
            Jedis jedis = null;
            try {
                jedis = jedisPool.getResource();
                jedis.set(key, value);
                jedis.expire(key, times);
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                this.close(jedis);
            }
        }
    
        /**
         * 删除redis数据
         */
        public void del(String key) {
            Jedis jedis = null;
            try {
                jedis = jedisPool.getResource();
                jedis.del(key);
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                this.close(jedis);
            }
        }
  2.   /** * 获取key的值 */

  3. public String get(String key) {
            Jedis jedis = null;
            try {
                jedis = jedisPool.getResource();
                String s = jedis.get(key);
                return s;
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                this.close(jedis);
            }
            return null;
        }
    
        /**
         * 释放连接
         * @param jedis
         */
        public void close(Jedis jedis){
            if (jedis != null) {
                jedis.close();
                if (jedis.isConnected()) {
                    try {
                        jedis.disconnect();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }


 安装redis本地客户端Redis Desktop Manager进行测试和检验测试

安装Redis Desktop Manager,一直下一步即可
连接到redis服务器
  1. 测试代码