我有使用 Jedis 连接工厂连接到 Redis 集群的 Spring Boot 应用程序:
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(redisProperties.getCluster().getNodes());
redisClusterConfiguration.setPassword(redisProperties.getPassword());
jedisConnectionFactory = new JedisConnectionFactory(redisClusterConfiguration);
Run Code Online (Sandbox Code Playgroud)
并从 application.yml 读取节点列表:
spring:
redis:
host: 127.0.0.1
port: 6379
timeout: 300s
cluster:
nodes: 127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382
Run Code Online (Sandbox Code Playgroud)
现在我们想切换到 Elasticache,因为我们无论如何都要在 AWS 上托管我们的 Redis 集群。这将很容易完成。如果可以使用 AmazonElastiCache 库。然后我们可以使用 AWS 凭证连接到 Elasticache 集群,拉取可用节点并将其放入列表并将其传递给 Jedis,而不是在 application.yml 中对其进行硬编码,例如:
spring:
redis:
host: 127.0.0.1
port: 6379
timeout: 300s
cluster:
nodes: 127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382
Run Code Online (Sandbox Code Playgroud)
但 DevOps 团队表示,他们无法在所有实验室上配置 AWS 访问权限,他们有理由这样做。此外,我们需要通过 URL 连接到特定的集群,而不是连接到 AWS 并拉取所有可用的集群。
所以我尝试将 Elasticache 集群 url 作为独立的和作为 application.yml 配置中的集群直接传递给 Jedis。在这两种情况下都建立了连接,但是当 App 尝试写入 Elasticache 时,它会出现 MOVED …
amazon-web-services redis jedis amazon-elasticache spring-boot
我目前正在尝试在我的网站上实现无限滚动,我正在使用 Vue 框架。Vue 有一些无限加载库,但是在集成它们之后,它们有一些对我来说太严重的问题。
我已经有了它,所以一旦满足某个条件,我就可以将更多数据添加到数组中,我只需要能够检测何时到达/向下滚动到 div 的底部。
我确实需要将它与 Vue 中的 for 循环集成,尽管这似乎不适用于一些常见的解决方案。这基本上就是我的代码的样子。
<div id="container">
<div v-for="object in objects">
<div class="class123">
<p>Display Stuff</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我将如何检测用户何时向下滚动到容器底部?我试过,它在没有 Vue 的情况下工作,但是一旦我添加了 Vue,它似乎不起作用:
jQuery(function($) {
$('#container').on('scroll', function() {
if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
alert('end reached');
}
})
});
Run Code Online (Sandbox Code Playgroud)
我很感激一些帮助,谢谢。