MSET
同时设置一个或多个 key-value 对。
如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,不存在的 key 会被创建。
MSET 是一个原子性(atomic)操作,整个 MSET 操作要么全部执行要么全部不执行。
Redis 原生命令语法
Section titled “Redis 原生命令语法”MSET key value [key value ...]参数说明
- key: 要设置的键
- value: 要设置的值
MSET 命令是原子操作,用于同时设置多个键值对。相比于多次调用 SET 命令,MSET 可以减少网络往返次数,提高性能。
Redisun 使用方式
Section titled “Redisun 使用方式”在 redisun 中,MSET 命令通过 MSetCommand 类和 Redisun 类中的 mset 方法实现。
Redisun redisun = Redisun.create(options -> { options.setAddress("redis://127.0.0.1:6379");});
// 准备键值对映射Map<String, String> keyValuePairs = new HashMap<>();keyValuePairs.put("key1", "value1");keyValuePairs.put("key2", "value2");keyValuePairs.put("key3", "value3");
// 设置多个键值对boolean result = redisun.mset(keyValuePairs);System.out.println("MSET operation result: " + result);
// 异步版本CompletableFuture<Boolean> future = redisun.asyncMset(keyValuePairs);future.thenAccept(success -> { System.out.println("Async MSET operation result: " + success);});- MSET 是原子操作,要么全部执行成功,要么全部执行失败
- 如果某个键已存在,其值会被新值覆盖
- 性能优于多次调用 SET 命令,因为它减少了网络往返次数
- 如果键和值的数量不匹配,可能会导致错误