Я хочу получить топ-10 случайных записей из моего кэша Redis .
У меня около 25000 записей, когда я выбираю с помощью ключа, поэтому он получает все записи25000 записей занимает почти более 3 минут.Пожалуйста, предоставьте какое-нибудь решение.Я где-то читал о pattern , хотя понятия не имею, как его реализовать.
BoundSetOperations<String, String> names =jedisTemplate.boundSetOps("Tapiez");
names.members().parallelStream().forEach(id->{
if(jedisTemplate.opsForHash().get("nameUUID", String.valueOf(id))!=null) {
PersonState newPersonState = new PersonState();
String nameUUID=jedisTemplate.opsForHash().get("nameUUID", String.valueOf(id)).toString();
String userUUID=jedisTemplate.opsForHash().get("personUserMap",nameUUID).toString();
String area=jedisTemplate.opsForHash().get("userDemographic:" + userUUID, "area").toString();
String status=jedisTemplate.opsForHash().get("person:"+nameUUID, "status").toString();
newPersonState.setName(personState.getName());
newPersonState.setLocation(areaName);
newPersonState.setId(Integer.valueOf(id));
newPersonState.setMessage(status);
listOfPersons.add(newPersonState);
}
});