spring+redis
配置
pom文件配置
项目中使用的是SpringDataRedis,所以需要引用SpringDataRedis的jar包,与此同时,SpringDataRedis真正和redis链接的是jedis,所以也需要引用jedis的jar包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
spring-redis.xml
配置的解释如下:
第一种方式:注解
第二种方式:Redistemplate
公共部分:
jedisconnectionFactory
key、value的序列化
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="http://www.springframework.org/schema/c" xmlns:cache="http://www.springframework.org/schema/cache"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
<!-- 启用缓存注解功能 -->
<cache:annotation-driven cache-manager="redisCacheManager"/>
<!---redis单机版配置-->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg>
<bean class="org.springframework.data.redis.connection.RedisStandaloneConfiguration"
c:host-name="192.168.22.60" c:port="6379"/>
</constructor-arg>
</bean>
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最小空闲数 -->
<property name="minIdle" value="5"/> <!-- 最大空闲数 -->
<property name="maxIdle" value="100"/> <!-- 最大连接数 -->
<property name="maxTotal" value="300"/> <!-- 最大等待时间 单位毫秒(ms) -->
<property name="maxWaitMillis" value="3000"/> <!-- 使用连接时测试连接是否可用 -->
<property name="testOnBorrow" value="true"/>
</bean>
<!--缓存key和value序列化配置-->
<bean id="redisCacheManager" class="com.dmsdbj.itoo.tool.redis.TedisCacheManager"
factory-method="create"
c:connection-factory-ref="jedisConnectionFactory">
<property name="keySerializer" ref="keySerializer"/>
<property name="valueSerializer" ref="valueSerializer"/>
</bean>
<bean id="keySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<bean id="valueSerializer" class="com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer"/>
<!-- redis模板 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
<property name="keySerializer" ref="keySerializer"/>
<property name="valueSerializer" ref="valueSerializer"/>
</bean>
<!-- Session共享 -->
<bean id="redisHttpSessionConfiguration"
class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" >
<property name="maxInactiveIntervalInSeconds" value="7200" />
</bean>
</beans>
核心代码
以string类型的set为例,其他的用法类似,需要的话去官网上查找即可
@Resource
private RedisTemplate redisTemplate;
String kyeName = REDIS_KEY_PRO_NAME + "_" + examineeId + "_" + templeatId + "_" + ConstantUtils.REDIS_PAPER_NAME;
redisTemplate.opsForValue().set(kyeName, examPaperModel, 3600 * 4, TimeUnit.SECONDS);
springboot+redis
配置
pom文件
这里默认使用的是lettuce
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
yml文件配置
redis:
host:192.168.22.60
port:6379
database:0
password:
timeout:300000ms
jedis:
pool:
max-active:8
max-wait:-1ms
max-idle:500
RedisConfig文件的配置
这个文件的配置和spring-redis的配置是相同的,只不过一种是spring中xml文件的配置,一种是spring中java文件的配置
这个问题如果不够清晰可以查看一下博客:
https://blog.csdn.net/Sunny5319/article/details/90740358
核心代码
代码同上,并无区别