Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Khởi động mùa xuân + Redis - Tạo khóa lạ

Tôi đã giải quyết được vấn đề của mình. Tôi đang tìm kiếm và tìm thấy bài đăng này.

Tôi đã thay đổi mã của mình để sử dụng một số thuộc tính của RedisTemplate:

@Bean
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory cf) {
    RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
    redisTemplate.setConnectionFactory(cf);

    configureSerializers(redisTemplate);

    JedisConnectionFactory jedisConnectionFactory = (JedisConnectionFactory) cf;
    JedisPoolConfig actualPoolConfig = jedisConnectionFactory.getPoolConfig();
    jedisConnectionFactory.setPoolConfig(createJedisPoolConfig(actualPoolConfig));

    return redisTemplate;
}

private void configureSerializers(RedisTemplate<String, String> redisTemplate) {
    RedisSerializer<String> serializerKey = new StringRedisSerializer();
    redisTemplate.setKeySerializer(serializerKey);
    redisTemplate.setHashKeySerializer(serializerKey);

    Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
    ObjectMapper om = new ObjectMapper();
    om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
    om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
    om.configure(
            DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    jackson2JsonRedisSerializer.setObjectMapper(om);

    redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
    redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
}    

Sự cố là do Serializer mặc định là "JdkSerializationRedisSerializer", hiện tôi đang sử dụng "StringRedisSerializer" để tạo khóa. Để tạo giá trị, tôi đang sử dụng "Jackson2JsonRedisSerializer" để chuyển đổi dữ liệu của mình trong JsonValue.

Bây giờ, các khóa của tôi không có ký tự "lạ".



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chạy các tác vụ nền Heroku chỉ với 1 trình duyệt web và 0 ứng dụng nhân viên

  2. Gọi Redis zuniontore từ Lua bằng KEYS biến

  3. Nhóm DigitalOcean không bị ràng buộc ngay lập tức PersistsVolumeClaims

  4. Chức năng phát sóng socket.io và kiến ​​trúc Redis pub / sub

  5. Phân trang đảo ngược thông qua một tập hợp đã được phân loại của Redis