zoukankan      html  css  js  c++  java
  • ssm不用springboot 配置spring data redis 的redisTemplate

    首先maven依赖,别用最新版,用这版,因为新版jedisConnectionFactory的配置过时了,新版怎么配置我也没搞清楚

    <!--redis-->
        <dependency>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-redis</artifactId>
          <version>1.3.0.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>2.4.2</version>
        </dependency>
    redis.properties
    # 设置最大连接数
    REDIS.MAXTOTAL=50
    #设置获取连接的最大等待时间
    REDIS.MAXWAITMILLIS=1000
    #开启获取连接时可用性校验,保证拿到的连接都是可用的
    REDIS.TESTONBORROW=true
    #设置IP
    REDIS.HOSTNAME=localhost
    #设置端口
    REDIS.PORT=6379
    #密码
    REDIS.PASSWORD=
    #设置是否使用连接池
    REDIS.USEPOOL=true

    然后配置applicationContext-redis.xml

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
           xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           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
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
    
        <context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true" />
        <!--构建连接池配置信息-->
        <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
            <!--设置最大连接数-->
            <property name="maxTotal" value="${REDIS.MAXTOTAL}"></property>
            <!--设置获取连接的最大等待时间-->
            <property name="maxWaitMillis" value="${REDIS.MAXWAITMILLIS}"></property>
            <!--开启获取连接时可用性校验,保证拿到的连接都是可用的-->
            <property name="testOnBorrow" value="${REDIS.TESTONBORROW}"></property>
        </bean>
        <!--构建Spring-data-redis连接工厂,其实就是连接池-->
        <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
            <constructor-arg index="0" ref="jedisPoolConfig"></constructor-arg>
            <!--设置IP-->
            <property name="hostName" value="${REDIS.HOSTNAME}"></property>
            <!--设置端口-->
            <property name="port" value="${REDIS.PORT}"></property>
            <!--设置是否使用连接池-->
            <property name="usePool" value="${REDIS.USEPOOL}"></property>
            <!--设置密码默认是没有密码-->
            <property name="password" value="${REDIS.PASSWORD}"></property>
        </bean>
        <!--stringRedisTemplate-->
        <!-- String类型的RedisTemplate模板 -->
        <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
            <constructor-arg index="0" ref="jedisConnectionFactory" />
        </bean>
    </beans>

    在applicationContext.xml中引入上面的xml

    <import resource="applicationContext-redis.xml"/>



    然后就可以在需要的地方注入;如下:
    @Autowired
        private RedisTemplate<String, String> redisTemplate;
    
    
    /**
                 * 存储token到redis并设置过期时间10分钟
                 */
                redisTemplate.opsForValue().set(Const.TOKEN_PREFIX + username, forgetToken, 10, TimeUnit.MINUTES);
    
    /**
             * 从redis中取出对应用户的token
             */
            String token  = redisTemplate.opsForValue().get(Const.TOKEN_PREFIX + username);
    
    
    /**
                     * 修改成功,删除redis中的存储
                     */
                    redisTemplate.delete(Const.TOKEN_PREFIX + username);



  • 相关阅读:
    Ubuntu 安装 JDK 7 / JDK8 的两种方式
    python 深拷贝 浅拷贝 赋值
    importlib.import_module
    pandas分块读取大量数据集
    win10下安装XGBoost Gpu版本
    win10下安装LGBM GPU版本
    统计自然语言处理(第二版)笔记1
    K-近邻算法
    2019考研的一些心得
    lib和dll的区别与使用
  • 原文地址:https://www.cnblogs.com/yunqing/p/11601540.html
Copyright © 2011-2022 走看看