java自己处理的redis键值,可以自己序列化

让redis中名称正常显示,(可以为python等其程序使用)

redis

import com.zykj.speech.domain.Site;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

//json序列化和Serializer序列化的区别貌似是:json序列化是转为json字符串,这个过程不需要类实现序列化接口。而且jsno序列化可作用于任何对象。
//Serializer序列化器和实现序列化接口,是为了让类能够网络传输和保存到内存或硬盘,可以理解为可以让类变成以字节数组形式存在。很多类比如String是已经实现了此接口的。
@Configuration
public class RedisConfig {

    //查看源码可发现IOC里自动注入了一个redisTemplate和StringRedisTemplate,并且有onmissclasscondition,所以这里注入了则使用我们自己的
    //使用了StringRedis的序列化器,可以直接
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
        RedisTemplate<String,Object> template=new RedisTemplate<>();
        //关联
        template.setConnectionFactory(factory);
        //设置key的序列化器
        template.setKeySerializer(new StringRedisSerializer());
        //设置value的序列化器,这种是专门给字符串用的序列化
         template.setValueSerializer(new StringRedisSerializer());
        return template;
    }

    //针对类对象,可以将对象存储到redis当中(当然也可以使用对象json序列化的方式,来存储对象的json字符串)
    @Bean
    public RedisTemplate<String, Site> imageRedisTemplate(RedisConnectionFactory factory){
        RedisTemplate<String,Site> template=new RedisTemplate<>();
        //关联
        template.setConnectionFactory(factory);
        //设置key的序列化器
        template.setKeySerializer(new StringRedisSerializer());
        //设置value的序列化器,这种是专门给imageInfo用的序列化器
        template.setValueSerializer(new Jackson2JsonRedisSerializer<>(Site.class));
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(Site.class));
        return template;
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
上次更新时间: 2024年2月12日星期一晚上7点28分