【问题标题】:JHipster Redis Sorted SetJHipster Redis 排序集
【发布时间】:2020-05-31 10:47:46
【问题描述】:

我最近使用 JHipster 和 Redis 创建了一个项目。我注意到它使用的 redis 文档类型是散列。

@Configuration
@EnableCaching
public class CacheConfigurationExtended extends CacheConfiguration {

    @Bean
    public javax.cache.configuration.Configuration<Object, Object> jcacheConfiguration(JHipsterProperties jHipsterProperties) {
        MutableConfiguration<Object, Object> jcacheConfig = new MutableConfiguration<>();
        Config config = new Config();
        if (jHipsterProperties.getCache().getRedis().isCluster()) {
            config.useClusterServers().addNodeAddress(jHipsterProperties.getCache().getRedis().getServer());
        } else {
            config.useSingleServer().setAddress(jHipsterProperties.getCache().getRedis().getServer()[0]);
        }
        jcacheConfig.setStatisticsEnabled(true);
        jcacheConfig.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, jHipsterProperties.getCache().getRedis().getExpiration())));
        return RedissonConfiguration.fromInstance(Redisson.create(config), jcacheConfig);
    }

    @Bean
    public JCacheManagerCustomizer cacheManagerCustomizer(javax.cache.configuration.Configuration<Object, Object> jcacheConfiguration) {
        return cm -> {
            createCache(cm, com.dsa.portal.repository.UserRepository.USERS_BY_LOGIN_CACHE, jcacheConfiguration);
            createCache(cm, com.dsa.portal.repository.UserRepository.USERS_BY_EMAIL_CACHE, jcacheConfiguration);
            createCache(cm, com.dsa.portal.domain.User.class.getName(), jcacheConfiguration);
            createCache(cm, com.dsa.portal.domain.Authority.class.getName(), jcacheConfiguration);
            createCache(cm, com.dsa.portal.domain.User.class.getName() + ".authorities", jcacheConfiguration);
            createCache(cm, com.dsa.portal.domain.News.class.getName(), jcacheConfiguration);
            // jhipster-needle-redis-add-entry
        };
    }

    private void createCache(javax.cache.CacheManager cm, String cacheName, javax.cache.configuration.Configuration<Object, Object> jcacheConfiguration) {
        javax.cache.Cache<Object, Object> cache = cm.getCache(cacheName);
        if (cache == null) {
            cm.createCache(cacheName, jcacheConfiguration);
        }
    }
}

我如何告诉 JHipster 使用 Sorted Set 让我们说我的新闻实体?

【问题讨论】:

    标签: spring-boot jhipster redisson


    【解决方案1】:

    您可以使用 Redisson Java Client for Redis。

    Integrate Redis to JHipster CacheConfiguration error

    它是一个高级客户端,拥有所有 Redis 数据结构,如评分排序集、地图和列表。

    【讨论】:

    • 任何进一步的解释可能会很有帮助。