我已经开始在 spring 应用程序中使用 RedisTemplate。opsForHash() 有一个“put”方法,但它只需要三个参数。我想保存一些键值对。这在节点中非常简单,例如: redis.hmset(hashId, [key1, val1, key2, val2 ...], (err, result) => {});我如何对 RedisTemplate 或 StringRedisTemplate 做同样的事情?我想在传递数据时将数据保存到散列中,而在序列化时没有 java 附加字符串
2 回答

宝慕林4294392
TA贡献2021条经验 获得超8个赞
尝试使用putAll方法:
从文档中:
void putAll(H key, Map<? extends HK,? extends HV> m) Set multiple hash fields to multiple values using data provided in m.

RISEBY
TA贡献1856条经验 获得超5个赞
您可以使用 Redis 模板直接将地图保存在 Redis 上,方法如下:
Map<MyObject, AnotherObject> map = new HashMap<>();
// Get the template from a custom redis class
RedisConfig redis = new RedisConfig();
// Get the template
RedisTemplate rt = redis.redisTemplate();
// save the map.
rt.opsForValue().multiSet(map);
添加回答
举报
0/150
提交
取消