Redis--项目实战

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

核心代码

代码同上,并无区别

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值