在 Redis 中保存 Set<String> 的 Value 序列化器

问题描述 投票:0回答:2

我必须将 Set 作为值存储在我的 redis 中。我无法弄清楚如何序列化它并在下面的对象中设置

RedisTemplate<String,Set<String>> redisTemplate = new RedisTemplate<String, Set<String>>();
redisTemplate.setHashValueSerializer(NEED_A_HASH_VALUE_SERIALIZER_HERE);
redisTemplate.setValueSerializer(NEED_A_VALUE_SERIALIZER_HERE);

这里需要一些帮助

java serialization redis set
2个回答
0
投票

您可以在redis中使用lpush或rpush将字符串推送到redis中的数组中,并使用以下方法检索它。

List<String> result = cacheClient.getLRange("FRE_TRIG_WL", 0, -1);
HashSet<String> wl = new HashSet<String>(result);

0
投票

我认为你可以使用这样的东西

new Jackson2JsonRedisSerializer<>(TypeFactory.defaultInstance().constructCollectionType(Set.class, String.class))
© www.soinside.com 2019 - 2024. All rights reserved.