项目中加入redis

在spring的配置文件中加入redis的配置:

    <!-- 配置redis --> 
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="200" />
        <property name="maxIdle" value="100" />
        <property name="timeBetweenEvictionRunsMillis" value="30000" />
        <property name="minEvictableIdleTimeMillis" value="30000" />
        <property name="testOnBorrow" value="true" />
    </bean>

    <!-- redis 配置,也可以把配置挪到properties配置文件中,再读取 -->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg index="0" ref="jedisPoolConfig" />
        <constructor-arg index="1" value="127.0.0.1" name="host"
            type="java.lang.String" />
        <constructor-arg index="2" value="6379" name="port"
            type="int" />
        <constructor-arg index="3" value="5000" name="timeout"
            type="int" />
        <constructor-arg index="4" value=""
            name="password" type="java.lang.String" />
    </bean>

    <bean id="jedisConnectionFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
        scope="singleton">
        <property name="hostName" value="127.0.0.1" />
        <property name="port" value="6379" />
        <property name="password" value="" />
        <property name="timeout" value="100000" /><!-- redis缓存时间测试10分钟过期,重新登录ok -->
        <property name="poolConfig" ref="jedisPoolConfig" />
        <property name="usePool" value="true" />
    </bean>

    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory" />
        <property name="keySerializer">
            <bean
                class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="hashKeySerializer">
            <bean
                class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="valueSerializer">
            <bean
                class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
        </property>
    </bean>
    <!-- 自定义的redis工具类,用于setter,getter -->
    <bean id="redisTemplateUtils" class="com.redis.RedisTemplateUtils">
        <property name="redisTemplate" ref="redisTemplate" />
    </bean>

自定义的工具类RedisTemplateUtils,用来编写java代码时,需要向redis存入或者取出数据时方便操作,这个写的不全,是为了测试写的,可以自己上网上抄一个全的,嘿嘿:

package com.redis;

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.ZSetOperations;
/**
 * 
 * @author HKY
 *
 */
public class RedisTemplateUtils {

    private RedisTemplate<String, String> redisTemplate;

    /**
     * 用于spring注入.
     * @param redisTemplate
     */
    public void setRedisTemplate(RedisTemplate<String, String> redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    /**
     * 获取模板redis对象.
     * @return
     */
    public RedisTemplate<String, String> getRedisTemplate() {
        return redisTemplate;
    }


    /**
     * zSet有序集合,默认按照score升序排列,存储格式K(1)==V(n),V(1)=S(1)(K=key,V=value,S=score)
     * @param key
     *          键
     * @param value
     *          值
     * @param number
     *          插入序号
     * @return
     */
    public  Boolean zSet(String key, String value, Integer score) {
        Boolean result;
        ZSetOperations<String, String> zSet = redisTemplate.opsForZSet();
        result = zSet.add(key, value, score);
        if (result) {
            System.out.println("zset存储成功");
        }else {
            System.out.println("zset存储失败");
        }
        return result;
    }

    /**
     * 无序集合,add的顺序不是存储顺序
     * @param key
     * @param values
     * @return
     */
    public Long set(String key, String... values) {
        Long result;
        SetOperations<String, String> set = redisTemplate.opsForSet();
        result = set.add(key, values);
        if (result != null) {
            System.out.println("set存储成功");
        }else {
            System.out.println("set存储失败");
        }
        return result;
    }
}

当然, 也可以直接在项目中调用原始的redisTemplate,但是要把它用spring注入。。恶心了,貌似不要那样做的好!自己玩玩就行了。。。

测试:

    @Autowired
    private RedisTemplateUtils redisUtils;
    private void goTest(){
        redisUtils.set("hh", "hahah");
        redisUtils.zSet("kk", "gogo", 0);
        System.out.println("ok");
    }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值