springMVC+redis+redis自定义工具类 的配置

空扰寡人 提交于 2020-01-26 19:25:04

1.

maven项目,加入这一个依赖包即可,

<dependency>    <groupId>redis.clients</groupId>    <artifactId>jedis</artifactId>    <version>2.9.0</version></dependency>使用2.9.0版本的原因是稳定,且3以上的版本有问题,部分参数会缺失

2.


配置文件redis.properties,


redis.hostname=127.0.0.1redis.port=6379redis.database=0redis.pool.maxActive=600redis.pool.maxIdle=300redis.pool.maxWait=3000redis.pool.testOnBorrow=trueredis.password=853396015redis.timeout=2000

 

3.

新建一个xml文件,名为 redisSpringContext.xml ,打开折叠可查看

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xsi:schemaLocation="http://www.springframework.org/schema/beans
 6         http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 7         http://www.springframework.org/schema/context
 8         http://www.springframework.org/schema/context/spring-context-3.2.xsd">
 9 
10     <!--    &lt;!&ndash; 导入redis数据库配置文件 &ndash;&gt;-->
11     <context:property-placeholder location="classpath:redis.properties"/>
12 
13     <!-- Redis连接池配置 -->
14     <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
15         <!-- 控制一个pool能分配多少个jedis实例 -->
16         <property name="maxTotal" value="${redis.pool.maxActive}"/>
17         <!-- 连接池中最多空闲多少个maxIdle个连接,这里为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,处于待命状态,随时连接 -->
18         <property name="maxIdle" value="${redis.pool.maxIdle}"/>
19         <!-- 最大等待时间,当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间即抛出异常 -->
20         <property name="maxWaitMillis" value="${redis.pool.maxWait}"/>
21         <!-- 在获取连接时,检查有效性 -->
22         <property name="testOnBorrow" value="${redis.pool.testOnBorrow}"/>
23     </bean>
24     <!-- 创建Redis连接池,并做相关配置 -->
25     <bean id="jedisWritePool" class="redis.JedisPoolWriper"
26           depends-on="jedisPoolConfig">
27         <constructor-arg index="0" ref="jedisPoolConfig"/>
28         <constructor-arg index="1" value="${redis.hostname}"/>
29         <constructor-arg index="2" value="${redis.port}" type="int"/>
30         <constructor-arg index="3" value="${redis.timeout}" type="int"/>
31         <constructor-arg index="4" value="${redis.password}"/>
32     </bean>
33     <!-- 创建Redis工具类,封装好Redis的连接以进行相关操作 -->
34     <bean id="jedisUtil" class="redis.JedisUtil"
35     >
36         <property name="jedisPool" ref="jedisWritePool"/>
37     </bean>
38 <!--    这里的红色下划线提示不是指写错了,而是警告,如果使用自动补全修正,会报错UnsatisfiedDependencyException
39 为什么使用$进行隔开呢,是因为这是两个类嵌套定义,因为不是文件路径,无法使用.符号进行区分,故使用$符号时没问题的
40 -->
41     <bean id="jedisKeys" class="redis.JedisUtil$Keys"
42     >
43         <constructor-arg ref="jedisUtil"/>
44     </bean>
45     <bean id="jedisStrings" class="redis.JedisUtil$Strings"
46     >
47         <constructor-arg ref="jedisUtil"/>
48     </bean>
49     <bean id="jedisLists" class="redis.JedisUtil$Lists"
50     >
51         <constructor-arg ref="jedisUtil"/>
52     </bean>
53     <bean id="jedisSets" class="redis.JedisUtil$Sets"
54     >
55         <constructor-arg ref="jedisUtil"/>
56     </bean>
57     <bean id="jedisHash" class="redis.JedisUtil$Hash"
58           scope="singleton">
59         <constructor-arg ref="jedisUtil"/>
60     </bean>
61 
62 </beans>
redisSpringContext.xml

 

 



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!