redis(3)、基于jedis、spring-data-redis 连接操作redis
redis(3)、基于jedis、spring-data-redis 连接操作redis
haoran_10 发表于1年前
redis(3)、基于jedis、spring-data-redis 连接操作redis
  • 发表于 1年前
  • 阅读 200
  • 收藏 0
  • 点赞 0
  • 评论 0

 

jedis是一款java连接redis的客户端,spring基于jedis进行了封装,提供了简洁的操作redis的方法。

使用maven进行管理jar包之间的依赖:

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

 spring-data-redis需要依赖jedis包,事实上spring-data-redis pom文件中就自动包含了jedis的配置。 http://www.mvnrepository.com/  依据所需要的版本。

(1)、JedisConnectionFactory  redis连接工厂

类似于数据库连接池一样,redis客户端也建立一个连接工厂

import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
@Bean
    public JedisConnectionFactory jedisConnectionFactory() {
        JedisConnectionFactory connFactory = new JedisConnectionFactory();

        connFactory.setHostName("127.0.0.1");
        connFactory.setPort(6379);
        connFactory.setUsePool(true);//使用连接池
        return connFactory;
    }

(2)、redis  RedisTemplate 

有了redis连接工厂,就要具体的redis session了,这些都是一个道理。 

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Bean
    public  RedisTemplate<String, String> redis() {
        RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();

        redisTemplate.setConnectionFactory(jedisConnectionFactory());
        redisTemplate.setKeySerializer(new StringRedisSerializer());//key的序列化适配器
        redisTemplate.setValueSerializer(new StringRedisSerializer());//value的序列化适配器,也可以自己编写,大部分场景StringRedisSerializer足以满足需求了。

        return redisTemplate;
    }

 

(3)、万事俱备,开始操作redis

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

@Component
public class CacheDemo {
    @Autowired private RedisTemplate<String, String> redis;

    public void set(String key,String value){
        redis.opsForValue().set(key, value);
    }
}

 

(4)、总结。

要是一切事情都像这么简单就好了,不过spring已经封装的极其简洁,操作起来也非常方便。

redis.opsForValue()  封装操作strings

redis.opsForList()   封装操作list

redis.opsForSet() 封装操作sets

redis.opsForZSet() 封装操作sorted sets

redis.opsForHash() 封装操作hashs

 

其他的东西继续挖掘吧。

 

共有 人打赏支持
粉丝 27
博文 88
码字总数 80846
×
haoran_10
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: