redis(3)、基于jedis、spring-data-redis 连接操作redis
redis技术目录
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
其他的东西继续挖掘吧。
相关推荐
txj 2020-08-17
亦碎流年 2020-06-18
middleware0 2020-06-13
anglehearts 2020-04-03
camhan 2020-05-09
枫叶上的雨露 2020-05-04
zhangtianshun 2020-05-03
博了个客 2020-04-29
sunzxh 2020-04-22
八角塘塘主 2020-04-09
GavinZhera 2020-04-08
郭宇 2020-02-22
Cheetahcubs 2020-02-12
middleware0 2020-02-11
wangxiaoxue 2020-01-23
guweiyuthinker 2020-01-20
MLXY 2020-01-21