redis为什么要序列化


当前第2页 返回上一页

解决:自定义系列化方式,使用Jackson2JsonRedisSerializer

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

44

import com.fasterxml.jackson.annotation.JsonAutoDetect;

import com.fasterxml.jackson.annotation.PropertyAccessor;

import com.fasterxml.jackson.databind.ObjectMapper;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

import org.springframework.data.redis.serializer.StringRedisSerializer;

 

/**

 * Redis配置

 *

 * @author LinJie

 */

@Configuration

public class RedisConfig {

 

    /**

     * Redis repository redis repository.

     *

     * @param redisTemplate the redis template

     * @return the redis repository

     */

    @Bean

    public RedisRepository redisRepository(RedisTemplate redisTemplate) {

        // 使用Jackson2JsonRedisSerialize 替换默认序列化

        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper objectMapper = new ObjectMapper();

        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

        // key采用String的序列化方式

        redisTemplate.setKeySerializer(stringRedisSerializer);

        // hash的key也采用String的序列化方式

        redisTemplate.setHashKeySerializer(stringRedisSerializer);

        // value序列化方式采用jackson

        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

        // hash的value序列化方式采用jackson

        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

        redisTemplate.afterPropertiesSet();

        return new RedisRepository(redisTemplate);

    }

}

更多Redis相关技术文章,请访问Redis数据库使用入门教程栏目进行学习!

以上就是redis为什么要序列化的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

linux下正确开启关闭Redis的命令是什么

Redis数据导入导出

Redis实现订单自动过期功能的源码分享

用什么方式查看Redis数据占用的内存

基于Redis无序集合实现禁止多端登录的方法

浅谈Redis sds跟c字符串的区别

Redis慢查询是什么

怎么查看Redis版本

Redis有什么实际应用

Redis中的scan命令的使用详解

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...