sql >> データベース >  >> NoSQL >> Redis

Redis-カスタム変換を構成する方法

    spring-boot-starter-data-redis:2.0.4.RELEASEでテスト済み 。

    OffsetDateTimeで問題が発生しました @RedisHashのプロパティ CrudRepositoryを使用しているときに、エンティティが保存されていませんでした 。

    問題は、Jsr310Converters OffsetDateTimeのコンバーターはありません 。

    これを解決するために、読み取りコンバーターを作成しました:

    @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);
        }
    }
    

    と書き込みコンバーター:

    @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();
        }
    }
    

    そして、RedisCustomConversionsを登録しました 構成内のBean:

    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. ScaleGridがAmazonAWSでの共有MongoDBホスティングを発表

    2. MongoDBの耐久性と書き込みの安全性を理解する

    3. 時間別のMongoDBグループ

    4. Clouderaオペレーショナルデータベースアプリケーション開発の概念