Convertendo um Map <String, String> para um tipo de valor com Jedis

também:

Então, eu tenho um tipo de valor:

class Session {
    long createdAt;
    List<String> postIds;
}

Usando o Jedis cliente ( 3.0.0-m1é que assuntos), Atualmente, estou executando uma hsetpara criar as entradas e hgetAllpara recuperar todos os valores-chave:

private redis.clients.jedis.Jedis jedis;

void createSession(String idAsKey, Map<String, String> hashFieldValues) {
    jedis.hset(idAsKey, hashFieldValues);
}


Map<String, String> fetchSession(String idAsKey) {
    return jedis.hgetAll(idAsKey);
}

O desafio que eu atualmente estou olhando é a facilidade de converter a Map<String, String>para o Sessionobjeto. Existe uma maneira existente para fazer isso?

resposta do servidor para um comando equivalente

1) "createdAt"
2) "1556099708307"
3) "postIds"
4) "[a, b, c]"

PS : Começando a aprender Redis, esperando que este tipo de mapeamento já pode ter sido resolvido para. Sim, não procurando uma mudança cliente como uma resposta, pelo menos.

Tripathi Krishnan:

não Jedis não oferece uma forma de mapear objetos para estruturas de hash.

Se você estiver usando primavera, então você pode olhar para HashMappers . Um HashMapper converte um POJO para um hash e vice-versa. No seu caso, o HashMapper irá converter uma sessão para um hash, e vice-versa.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=197488&siteId=1
Recomendado
Clasificación