• Spring + SpringMVC + Mybatis项目中redis的配置及使用


    maven文件

    <!-- redis -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>${jedis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-redis</artifactId>
                <version>${spring-data-redis.version}</version>
            </dependency>

    1.redis配置文件redis.properties

    #redis的服务器地址
    redis.host=127.0.0.1
    #redis的服务端口
    redis.port=6379
    #密码
    redis.password=
    #链接数据库
    redis.default.db=0
    #客户端超时时间单位是毫秒
    redis.timeout=100000
    #最大连接数
    redis.maxActive=300
    #最大空闲数
    redis.maxIdle=100
    #最大建立连接等待时间
    redis.maxWaitMillis=1000

    2.spring-redis.xml读取参数

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.0.xsd">
        <context:property-placeholder location="classpath:redis.properties"/>
        <!-- Redis 配置 -->
        <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
            <property name="maxTotal" value="${redis.maxActive}"/>
            <property name="maxIdle" value="${redis.maxIdle}"/>
            <property name="maxWaitMillis" value="${redis.maxWaitMillis}"/>
            <property name="testOnBorrow" value="true"/>
        </bean>
    
        <!-- redis单节点数据库连接配置 -->
        <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
            <property name="hostName" value="${redis.host}"/>
            <property name="port" value="${redis.port}"/>
            <property name="password" value="${redis.password}"/>
            <property name="poolConfig" ref="jedisPoolConfig"/>
        </bean>
    
        <!-- redisTemplate配置 -->
        <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
            <property name="connectionFactory" ref="jedisConnectionFactory"/>
        </bean>
    </beans>

    3.web.xml中读取spring配置文件

    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath*:spring-*.xml
            </param-value>
        </context-param>
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>classpath:log4j.properties</param-value>
        </context-param>

    这样redis在项目中就算配好了

    4.redis工具类

    package com.mz.usps.common.component;
    
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.stereotype.Component;
    
    import javax.annotation.Resource;
    import java.util.concurrent.TimeUnit;
    
    /**
     * Redis模板
     *
     * @author sjl
     * @date 2018-03-12 15:18
     **/
    @Component
    public class RedisCache {
        @Resource
        private RedisTemplate redisTemplate;
    
        public void setValue(Object key, Object value) {
            redisTemplate.opsForValue().set(key, value);
        }
        public void setValue(Object key, Object value, long timeout, TimeUnit unit) {
            redisTemplate.opsForValue().set(key, value, timeout, unit);
        }
    
        public Object getValue(Object key) {
            Object value = redisTemplate.opsForValue().get(key);
            return value;
        }
    }

    5.Redis使用实战

    在哪个类中使用

    @Autowired
        RedisCache redisCache;
    加到哪个类中

    6.方法中存值

    redisCache.setValue(token, "1", 1, TimeUnit.DAYS);
    token为key值   "1"为value  1时间   TimeUnit.DAYS为时间单位
    将key value 存入redis中一天
  • 相关阅读:
    js中json对象取键和值
    canvas基本图形
    JavaScript数组实战小练习
    以面试为提纲的前端知识
    用js写三级联动
    JavaScript读取本地json文件
    用jquery写的json省市县三级联动下拉
    纯CSS实现3D按钮效果
    纯CSS仿windows系统loading效果
    一个有意思的标签<marquee>
  • 原文地址:https://www.cnblogs.com/shijl/p/10685612.html
Copyright © 2020-2023  润新知