nosql--RedisTemplate定制化

nosql--RedisTemplate定制化

  • 1、序列化
  • 2、如果使用redis中保存数据会使用默认的序列化机制,导致redis中保存的对象不可视
    • 2.1将所有的对象以JSON的形式保存
    • 2.2配置reids自定义配置
    • 2.3转化成功
    • 2.4配置文件代码
  • 3redis客户端

1、序列化

stringRedisTemplate
RedisTemplate redisTemplate
nosql--RedisTemplate定制化_第1张图片
nosql--RedisTemplate定制化_第2张图片

2、如果使用redis中保存数据会使用默认的序列化机制,导致redis中保存的对象不可视

nosql--RedisTemplate定制化_第3张图片

2.1将所有的对象以JSON的形式保存

默认序列化是JdkSerializationRedisSerializer
nosql--RedisTemplate定制化_第4张图片
如果没有redisTemplate配置
nosql--RedisTemplate定制化_第5张图片

2.2配置reids自定义配置

nosql--RedisTemplate定制化_第6张图片

2.3转化成功

nosql--RedisTemplate定制化_第7张图片

2.4配置文件代码

package com.example.boot3.redis.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;

/**
 * @author jitwxs
 * @date 2023年12月25日 22:23
 */
public class AppTedisConfiguration {
   /*
   允许Object类型的key-value,都可以转换成json进行存储
   @param redisConnecctionFactory 自动配置好连接工厂
   @return
   */
    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, Object> template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
//        把对象转为json字符串的序列化工具
        template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
        return template;
    }
}

3redis客户端

RedisTemplate、StringRedisTemplae:操作redis的工具类
要从redis的连接厂获取连接才能操作redis
Redis 客户端:
jedis
Lettuce:默认
配置jedis、lettuce的底层参数
nosql--RedisTemplate定制化_第8张图片

#设置lettuce的底层参数
#spring.data.redis.client-type=lettuce
#spring.data.redis.lettuce.pool.enabled=true
##线程池
#spring.data.redis.lettuce.pool.max-active=8

#设置jedis的底层参数
spring.data.redis.client-type=jedis
spring.data.redis.jedis.pool.enabled=true
spring.data.redis.jedis.pool.max-active=8

你可能感兴趣的:(springboot,nosql,数据库,后端,spring,boot)