为什么在我的项目中找不到“RedisStreamCommands”接口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在我的项目中找不到“RedisStreamCommands”接口?相关的知识,希望对你有一定的参考价值。

我想导入RedisStreamCommands。我可以导入它,但我可以导入RedisCommands。我认为它需要依赖。我不知道那是什么,请帮帮我。

RedisCommands<String, String> syncCommands = connection.sync();
RedisStreamCommands<String, String> streamCommands = connection.sync();
syncCommands.set("key_1", "Hello, Redis!");
Map<String, String> body =  Collections.singletonMap("key", "value");
String messageId = streamCommands.xadd("my-stream", body);

我试过这样的:它在RedisStreamCommands上显示错误。

import java.util.Collections;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.*;
import io.lettuce.core.api.sync.RedisCommands;
import io.lettuce.core.cluster.RedisClusterClient;
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
import io.lettuce.core.cluster.api.sync.RedisAdvancedClusterCommands;

public class LettuceDemo {

    public static void main(String[] args) {

        RedisClient redisClient = RedisClient.create("redis://15m4madm4bd6ypfqtc353wfq4q292brk@expeditious-ironwood-6027.redisgreen.net:11042/0");
        StatefulRedisConnection<String, String> connection = redisClient.connect();
        RedisCommands<String, String> syncCommands = connection.sync();
        RedisStreamCommands<String, String> streamCommands = connection.sync();
        syncCommands.set("key_1", "Hello, Redis!");
        Map<String, String> body =  Collections.singletonMap("key", "value");
        String messageId = streamCommands.xadd("my-stream", body);

        connection.close();
        redisClient.shutdown();

    }

}
答案

接口io.lettuce.core.api.sync.RedisStreamCommands是在Redis 5.1版中引入的;您很可能使用的是不包含它的早期版本。

因此,基本上,您应该检查类路径和Redis的版本,并在必要时将其调整为版本5.1+。您可以从这里获取它:https://lettuce.io/docs或查看文档以获取更多详细信息。

希望能帮助到你。

以上是关于为什么在我的项目中找不到“RedisStreamCommands”接口?的主要内容,如果未能解决你的问题,请参考以下文章

在我的 XCode 项目中找不到 Cordova.plist

在 Xcode 项目中找不到 Firebase 文件

Flask-WTForms 在我的项目目录中找不到 WTForms

maven 在我的存储库中找不到原型

在我的开发环境中找不到 Plist 文件

在我的 Facebook 应用程序控制台中找不到客户端 OAuth 设置部分[重复]