Jedis 有一个 hmset 方法,允许您在特定键处设置字段及其值的映射。
我是这样使用这个方法的:
Map<String, String> map = new LinkedHashMap<String, String>();
// General player data
map.put("name", player.getName());
map.put("ip", player.getAddress().getAddress().getHostAddress());
map.put("rank", "none");
map.put("tokens", "0");
map.put("coins", "0");
// Arsenal player statistics
map.put("ar_score", "0");
map.put("ar_gameswon", "0");
map.put("ar_gameslost", "0");
map.put("ar_kills", "0");
map.put("ar_deaths", "0");
pipeline.hmset("uuid:" + uuid, map);
pipeline.sync();
core.redis.getJedisPool().returnResourceObject(jedis);
我决定使用 LinkedHashMap 来保留插入顺序 - 然而,当查看数据库时,它仍然弄乱了顺序。
有谁知道如何将其插入数据库而不弄乱顺序?
谢谢。
最佳答案
基于字符串的 Jedis 客户端 transcodes the strings使用临时 HashMap,因此它会终止您的订单。 BinaryClient iterates over the Map直接并保留顺序。
lettuce无论如何,客户端都会保留您的 map 的顺序。
或者,使用 HSET 哈希键值
逐一设置值
马克·HTH
关于java - Jedis HMSET map 插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31767537/