В настоящее время я работаю над проектом, который требует redis в качестве основного хранилища для кэширования данных, используя ссылки из spring-data-redis-example
Мне также необходимо выполнить такие действия, как получение и сортировка списка, полученного из Redis, для достижения таких случаев я попытался выполнить следующее:
PageRequest.of (1, 10, Sort.Direction.ASC, «rank»)
и
findBySomeAndThingOrderByRankAsc
но ни один из вышеперечисленных, по-видимому, не помог мне решить проблему с возможностью сортировки данных, полученных из redis
вот моя конфигурация redis
@Configuration
@EnableRedisRepositories(basePackages = "com.example.db.redis.repository")
public class RedisConfiguration {
@Bean
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setHostName(Properties.getString("redis.hostname"));
redisStandaloneConfiguration.setPort(Integer.parseInt(Properties.getString("redis.port")));
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
@Bean
public RedisTemplate<?, ?> redisTemplate() {
RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericToStringSerializer<>(Object.class));
return redisTemplate;
}
@Bean
public StringRedisTemplate strRedisTemplate() {
StringRedisTemplate redisTemplate = new StringRedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
return redisTemplate;
}
}
а вот и пожо
@RedisHash("somehash")
public class SortOnRedisExample implements Serializable {
private static final long serialVersionUID = -895893308381522209L;
@Id
private String id;
@Indexed
private String some;
@Indexed
private String thing;
@Indexed
private Integer rank;
public SortOnRedisExample() {}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getRank() {
return rank;
}
public void setRank(Integer rank) {
this.rank = rank;
}
public String getSome() {
return some;
}
public void setSome(String some) {
this.some = some;
}
public String getThing() {
return thing;
}
public void setThing(String thing) {
this.thing = thing;
}
}
У меня вопрос, поддерживается ли сортировка / порядок spring-data-redis
в стиле jpa? если нет, то какова альтернатива?
любой указатель будет высоко оценен, спасибо!