关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
两个月前关门了。
改进这个问题
我想启动redis连接作为后台任务,这样用户就不需要等待redis连接建立。如果没有建立redis连接或redis不可用,则应从源获取数据,而不影响用户。
该应用程序是一个aws lambda web api项目。我想避免个别请求中的连接延迟,但我也不想通过在启动时等待连接来增加冷启动时间。
我正在使用StackExchangeRedis客户端库。
为了完成这个任务,我想在后台启动redis连接任务。
1条答案
按热度按时间7z5jn7bk1#
不需要额外的背景任务。stackexchange.redis库允许异步连接
ConnectionMultiplexer.ConnectAsync
. 我们需要的是一种检查连接是否完整的方法,如果不完整,请使用另一个源。一种方法是在服务中 Package 数据访问,该服务在其构造函数中异步打开连接。它的方法可以检查连接是否打开,如果没有,则使用redis或回退源(如数据库)。
此服务可以在中创建并注册为单例示例
Startup.ConfigureServices
. 这样,连接过程将在启动时开始,但不会阻止启动过程: