/** * Obtain a {@link RedisSerializer} that can read and write JSON using * <a href="https://github.com/FasterXML/jackson-core">Jackson</a>. * * @return never {@literal null}. * @since 2.1 */ static RedisSerializer<Object> json() { return new GenericJackson2JsonRedisSerializer(); }
@Override public Object deserialize(@Nullable byte[] source) throws SerializationException { return deserialize(source, Object.class); }
/** * Creates {@link GenericJackson2JsonRedisSerializer} and configures {@link ObjectMapper} for default typing using the * given {@literal name}. In case of an {@literal empty} or {@literal null} String the default * {@link JsonTypeInfo.Id#CLASS} will be used. * * @param classPropertyTypeName Name of the JSON property holding type information. Can be {@literal null}. */ public GenericJackson2JsonRedisSerializer(@Nullable String classPropertyTypeName) { this(new ObjectMapper()); // simply setting {@code mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)} does not help here since we need // the type hint embedded for deserialization using the default typing feature. registerNullValueSerializer(mapper, classPropertyTypeName); if (StringUtils.hasText(classPropertyTypeName)) { mapper.enableDefaultTypingAsProperty(DefaultTyping.NON_FINAL, classPropertyTypeName); } else { mapper.enableDefaultTyping(DefaultTyping.NON_FINAL, As.PROPERTY); } }
private Node getNode(String nodeData) { GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer(new ObjectMapper()); return serializer.deserialize(nodeData.getBytes(), Node.class); } }
private Node getNode(String nodeData) { GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer(new ObjectMapper()); return serializer.deserialize(nodeData.getBytes(), Node.class); }
@Bean public RedisTemplate<String, Serializable> limitRedisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Serializable> template = new RedisTemplate<>(); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setConnectionFactory(redisConnectionFactory); return template; } }
public static RedisTemplate buildRedisTemplate(byte[] redisProperties){ JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory( RedisConfUtils.getClusterConfiguration( (RedisProperties) Serializer.INSTANCE.deserialize(redisProperties))); RedisTemplate<String, Long> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(jedisConnectionFactory); jedisConnectionFactory.afterPropertiesSet(); GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer(); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringRedisSerializer); redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer); redisTemplate.setHashKeySerializer(stringRedisSerializer); redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer); redisTemplate.afterPropertiesSet(); return redisTemplate; } }
@Override public Object deserialize(@Nullable byte[] source) throws SerializationException { return deserialize(source, Object.class); }
/** * Obtain a {@link RedisSerializer} that can read and write JSON using * <a href="https://github.com/FasterXML/jackson-core">Jackson</a>. * * @return never {@literal null}. * @since 2.1 */ static RedisSerializer<Object> json() { return new GenericJackson2JsonRedisSerializer(); }
@Override public Object deserialize(@Nullable byte[] source) throws SerializationException { return deserialize(source, Object.class); }
/** * Obtain a {@link RedisSerializer} that can read and write JSON using * <a href="https://github.com/FasterXML/jackson-core">Jackson</a>. * * @return never {@literal null}. * @since 2.1 */ static RedisSerializer<Object> json() { return new GenericJackson2JsonRedisSerializer(); }
@Bean public GenericJackson2JsonRedisSerializer jsonSerializer() { return new GenericJackson2JsonRedisSerializer(); }
GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer(mapper); store.setValueSerializer(serializer); serializer = new GenericJackson2JsonRedisSerializer(mapper); store.setValueSerializer(serializer); serializer = new GenericJackson2JsonRedisSerializer(mapper); store.setValueSerializer(serializer);
@Bean @Primary public StringRedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { StringRedisTemplate template = new StringRedisTemplate(); template.setConnectionFactory(connectionFactory); template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); return template; } }
@Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>(); redisTemplate.setConnectionFactory(jedisConnectionFactory()); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); return redisTemplate; }
public static RedisTemplate getRedisTemplate(JedisConnectionFactory jedisConnectionFactory) { RedisTemplate redisTemplate = new RedisTemplate(); redisTemplate.setConnectionFactory(jedisConnectionFactory); redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer()); return redisTemplate; }
public static RedisTemplate getRedisTemplate(JedisConnectionFactory jedisConnectionFactory) { RedisTemplate redisTemplate = new RedisTemplate(); redisTemplate.setConnectionFactory(jedisConnectionFactory); redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer()); return redisTemplate; }
@Bean public RedisTemplate<String, Serializable> limitRedisTemplate(LettuceConnectionFactory redisConnectionFactory) { RedisTemplate<String, Serializable> template = new RedisTemplate<>(); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setConnectionFactory(redisConnectionFactory); return template; } }
@Bean public RedisTemplate<String, Serializable> redisCacheTemplate(LettuceConnectionFactory redisConnectionFactory) { RedisTemplate<String, Serializable> template = new RedisTemplate<>(); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setConnectionFactory(redisConnectionFactory); return template; } }
/** * 默认情况下的模板只能支持RedisTemplate<String, String>,也就是只能存入字符串,因此支持序列化 */ @Bean public RedisTemplate<String, Serializable> redisCacheTemplate(LettuceConnectionFactory redisConnectionFactory) { RedisTemplate<String, Serializable> template = new RedisTemplate<>(); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setConnectionFactory(redisConnectionFactory); return template; } }