Spring整合redis连接池
2018-08-02 05:53:40来源:博客园 阅读 ()
-
在pom.xml中添加redis客户端jedis依赖
-
<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
-
@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); } }
/** * 获取key的值 */
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服务器
-
- 测试代码
-
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- redis缓存 2020-06-12
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash