Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis - Cara mengonfigurasi konversi khusus

Diuji dengan spring-boot-starter-data-redis:2.0.4.RELEASE .

Saya menghadapi masalah di mana OffsetDateTime saya properti @RedisHash saya entitas tidak disimpan saat menggunakan CrudRepository .

Masalahnya adalah Jsr310Converters tidak memiliki konverter OffsetDateTime .

Untuk mengatasi ini, saya membuat konverter bacaan:

@Component
@ReadingConverter
public class BytesToOffsetDateTimeConverter implements Converter<byte[], OffsetDateTime> {
    @Override
    public OffsetDateTime convert(final byte[] source) {
        return OffsetDateTime.parse(new String(source), DateTimeFormatter.ISO_OFFSET_DATE_TIME);
    }
}

dan konverter tulisan:

@Component
@WritingConverter
public class OffsetDateTimeToBytesConverter implements Converter<OffsetDateTime, byte[]> {
    @Override
    public byte[] convert(final OffsetDateTime source) {
        return source.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME).getBytes();
    }
}

Dan mendaftarkan RedisCustomConversions kacang dalam konfigurasi:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.convert.RedisCustomConversions;
import org.springframework.data.redis.repository.configuration.EnableRedisRepositories;

import java.util.Arrays;

@Configuration
@EnableRedisRepositories
public class RedisConfiguration {

    @Bean
    public RedisCustomConversions redisCustomConversions(OffsetDateTimeToBytesConverter offsetToBytes,
                                                         BytesToOffsetDateTimeConverter bytesToOffset) {
        return new RedisCustomConversions(Arrays.asList(offsetToBytes, bytesToOffset));
    }

}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bekerja dengan kunci di redis

  2. Bagaimana cara mendapatkan, memperbarui semua kunci dan nilainya dari database redis di c #?

  3. 2 pendekatan untuk melacak pengguna online dengan Redis. Mana yang lebih cepat?

  4. Tidak bisa mendapatkan sumber daya dari kumpulan (SocketTimeoutException :)

  5. Redis publish/subscribe:lihat channel apa yang saat ini disubscribe