Java中操作Redis

1.Jedis的使用

1.设置依赖

<!--导入jedis的包-->
<dependencies>
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies>

2.基本操作

建立连接并测试,注意需要打开redis

 

 执行操作

 

 关闭连接

 

 3.事务的使用

 

 2.Spring Data Redis

1.配置依赖(springboot中)

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2.自定义redisTemplate序列化

//编写自己的redisTemplate
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory) throws UnknownHostException{
//真实开发一般使用Json来传递对象
//为了开发方便,一般改为<String,Object>泛型
RedisTemplate<String, Object> template = new RedisTemplate<String,Object>();
template.setConnectionFactory(factory);

//序列化配置jackson
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om=new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);

//String的序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

//key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
//hashkey采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
//value序列化采用jackson
template.setValueSerializer(jackson2JsonRedisSerializer);
//hashvalue序列化采用Jackson
template.setHashValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();

return template;
}

3.基本操作

 

 

 

4.通用操作

 

 3.Spring Cache

 1.常用注解

@EnableCaching 开启缓存注解功能

@Cacheable在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中

 

 

@CachePut

 

 

 @CacheEvict

 

 

 

 

 

 

 
posted @ 2022-05-18 08:56  面向机器编程  阅读(228)  评论(0编辑  收藏  举报