微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

命令 MSET 需要至少 2 个参数,但方法声明 1 个参数

如何解决命令 MSET 需要至少 2 个参数,但方法声明 1 个参数

我正在尝试为 Redis 客户端定义自己的动态命令,但在初始化时出现奇怪的错误

我对 mset 使用动态命令的原因是我需要继续支持返回以前版本中的 m = df.groupby('Identity')['periods'].transform('max') df.loc[(m >=2) & (m <=5),'Label'] = 'label 1' print(df) Identity periods one two three Label 0 one 1 -0.462407 0.022811 -0.277357 label 1 1 one 1 -0.617588 1.667191 -0.370436 label 1 2 one 2 -0.604699 0.635473 -0.556088 label 1 3 one 2 -0.852943 1.087415 -0.784377 label 1 4 two 3 0.421453 2.390097 0.176333 label 1 5 two 3 -0.447321 -1.215280 -0.187156 label 1 6 two 4 0.398953 -0.334095 -1.194132 label 1 7 two 4 -0.324348 -0.842357 0.970825 label 1

我正在从旧的生菜客户端依赖项 biz.paluch.redis 升级io.lettuce

错误

io.lettuce.core.dynamic.CommandMethodSyntaxException:命令 MSET 需要至少 2 个参数,但方法声明 1 个参数。 违规方法:public abstract rx.Observable com.my.services.cache.MyCommands.mset(java.util.Map)

我已经定义了我的命令接口

rx.Observable

并在客户端设置

public interface MyCommands extends Commands {

  Observable<byte[]> get(String key);
  Observable<byte[]> mget(String... keys);
  Observable<String> set(String key,byte[] value,SetArgs args);
  Observable<String> mset(Map<String,byte[]> values);// offending command
  Observable<String> hmset(String key,Map<String,byte[]> values);
  Observable<Long> del(String... keys);
  Observable<Boolean> expire(final String key,final int seconds);
  Observable<Map<String,byte[]>> hgetAll(final String key);
  Observable<Long> ttl(final String key);
  Observable<Long> exists(final String key);
  Observable<Long> rpush(final String key,final byte[][] strings);
  Observable<Long> rpushx(final String key,final byte[] string);
  Observable<Long> llen(final String key);
}

我不确定是什么原因造成的,看起来 RedisReactiveCommands 与相同的方法签名完全相同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。