springmvc +Redis环境搭建

本文详细介绍了如何在项目中配置Redis环境,包括pom文件中加入依赖、配置redis-config.xml文件,以及提供了一个通用的Redis服务封装类。通过这些步骤可以快速地在应用中集成并使用Redis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回顾一下redis搭建环境


pom加入redis配置

<span style="font-size:18px;">        <!-- redis配置 -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.4.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.6.0</version>
        </dependency></span>
redis-config.xml

<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"></bean>
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
		p:host-name="${redis.host}" 
		p:port="${redis.port}" 
		p:password="${redis.pass}"
		p:pool-config-ref="poolConfig" />
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
网上找的一个redis-service封装类

package org.gsh.radis;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;

public abstract class RedisClient<K extends Serializable, V extends Serializable>  {
    
    @Autowired
    protected RedisTemplate<K,V> redisTemplate ;
    
    /**
     * 添加
     * @param key
     * @param value
     * @return
     */
    public boolean add(final String key, final String value) {
        boolean resultBoolean = false;
        if(redisTemplate != null) {
            resultBoolean = redisTemplate.execute(new RedisCallback<Boolean>() {  
                public Boolean doInRedis(RedisConnection connection)  
                        throws DataAccessException {  
                    RedisSerializer<String> serializer = getRedisSerializer();
                    byte[] keys  = serializer.serialize(key);
                    byte[] values = serializer.serialize(value);  
                    connection.setEx(keys, 120, values);//有效期120s
                    return true;
                    //return connection.setNX(keys, values);  
                }  
            });  
        }else{
            System.out.println(redisTemplate == null);
        }
        return resultBoolean;
    }
    
    /**
     * 根据key获取对象
     */
    public String get(final String key) {
        String resultStr = null;
        if(redisTemplate != null) {
            resultStr = redisTemplate.execute(new RedisCallback<String>() {
                public String doInRedis(RedisConnection connection)  
                        throws DataAccessException {  
                    RedisSerializer<String> serializer = getRedisSerializer();  
                    byte[] keys = serializer.serialize(key);  
                    byte[] values = connection.get(keys);  
                    if (values == null) {  
                        return null;  
                    }  
                    String value = serializer.deserialize(values);  
                    return value;  
                }  
            });  
        }
        return resultStr;  
    }  

    
    /**
     * 设置redisTemplate
     * @param redisTemplate the redisTemplate to set
     */  
    public void setRedisTemplate(RedisTemplate<K, V> redisTemplate) {  
        this.redisTemplate = redisTemplate;  
    }  
      
    /**
     * 获取 RedisSerializer
     * <br>------------------------------<br>
     */  
    protected RedisSerializer<String> getRedisSerializer() {  
        return redisTemplate.getStringSerializer();  
    }  
    
}


大功告成,测试自行脑补吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值