小编mp9*_*1de的帖子

Spring Data Redis:设置密码

我需要从我的微服务提供到 Redis 的安全连接。

因此,如果我想添加支持身份验证的功能,以便客户端可以发送带有密码的 AUTH 命令。见http://redis.io/topics/security

如何使用 Spring Data Redis 实现来做到这一点?

spring-data spring-data-redis

4
推荐指数
1
解决办法
1万
查看次数

Apache Cassandra 的 Spring Data 将 java.time.LocalDateTime 转换为 UTC

我试图java.time.LocalDateTime在我的 Cassandra 数据库中保留一个对象并使其与时区无关。我正在使用 Spring Data Cassandra 来做到这一点。

问题是,沿着这条线的某个地方,有些东西将这些LocalDateTime对象视为在我的服务器的时区中,并在将它们存储在数据库中时将它们偏移到 UTC 时间。

这是错误还是功能?我可以以某种方式解决它吗?

配置:

@Configuration
@EnableCassandraRepositories(
    basePackages = "my.base.package")
public class CassandraConfig extends AbstractCassandraConfiguration{

    @Override
    protected String getKeyspaceName() {
        return "keyspacename";
    }

    @Bean
    public CassandraClusterFactoryBean cluster() {
        CassandraClusterFactoryBean cluster =
            new CassandraClusterFactoryBean();
        cluster.setContactPoints("127.0.0.1");
        cluster.setPort(9142);
        return cluster;
    }

    @Bean
    public CassandraMappingContext cassandraMapping()
        throws ClassNotFoundException {
        return new BasicCassandraMappingContext();
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望保留的预订记录:

@Table("booking")
public class BookingRecord {
    @PrimaryKeyColumn(
        ordinal = 0,
        type = PrimaryKeyType.PARTITIONED
    )
    private UUID bookingId = null; …
Run Code Online (Sandbox Code Playgroud)

java timezone spring cassandra spring-data-cassandra

4
推荐指数
2
解决办法
6246
查看次数

Spring Data Redis:Redis 管道始终返回 null

我想检索仅具有指定字段的多个哈希图值。所以我选择加入 Redis 管道。

在测试以下代码时,我看到redisResponse1始终为空,其中 asredisResponse2具有值。

    getRedisTemplate().executePipelined(new RedisCallback<Object>() { 
        @Override
        public Object doInRedis(RedisConnection connection) throws DataAccessException {
                List<byte[]> redisResponse1 = connection.hMGet(key.getBytes(), params);
                List<byte[]> redisResponse2 = getRedisTemplate().getConnectionFactory().getConnection().hMGet(key.getBytes(), specificParams);
                return null;
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我查看代码并发现下面的代码时,

a)redisResponse2不使用管道选项执行

b)redisResponse1使用管道执行 (isPipelined() == true) 但始终返回 null。

public List<byte[]> hMGet(byte[] key, byte[]... fields) {
    try {
        if (isPipelined()) {
            pipeline(new JedisResult(pipeline.hmget(key, fields)));
            return null;
        }
        if (isQueueing()) {
            transaction(new JedisResult(transaction.hmget(key, fields)));
            return null;
        }
        return jedis.hmget(key, fields);
    } catch (Exception ex) …
Run Code Online (Sandbox Code Playgroud)

java lua pipelining redis spring-data

3
推荐指数
1
解决办法
5838
查看次数

使用 Lettuce 为 ElastiCache 主/从配置 Spring Data Redis

我有一个 Elasticache 设置,其中有一个主设备和两个从设备。我仍然不确定如何传入主从 RedisURI 列表来构造StatefulRedisMasterSlaveConnectionfor LettuceConnectionFactory。我只看到对具有单个主机和端口的独立配置的支持。

LettuceClientConfiguration configuration = LettuceTestClientConfiguration.builder().readFrom(ReadFrom.SLAVE).build();
LettuceConnectionFactory factory = new LettuceConnectionFactory(SettingsUtils.standaloneConfiguration(),configuration);
Run Code Online (Sandbox Code Playgroud)

我知道有一个类似的问题Configuring Spring Data Redis with Lettuce for Redis master/slave

但我认为它不适用于 ElastiCache 主/从设置,因为目前上述代码将尝试用于MasterSlaveTopologyProvider发现从属 ip。但是,从属 IP 地址无法访问。那么配置 Spring Data Redis 使其兼容主/从 ElastiCache 的正确方法是什么?在我看来,LettuceConnectionFactory需要获取端点列表并使用StaticMasterSlaveTopologyProvider才能工作。

java redis lettuce amazon-elasticache spring-data-redis

3
推荐指数
1
解决办法
6356
查看次数

Spring Cloud Config 和 Spring Cloud Vault 的初始化顺序

我们正在利用 Spring Cloud Config 和 Spring Cloud Config Vault。我们想知道是否有一种方法可以“引导引导程序”,即我们希望启动 Spring Cloud 配置服务器,然后从中提取属性以在我们的保管库配置中利用。我们查看了订单,但它似乎不起作用,我认为这是因为后处理订单,但我希望我可能会遗漏一些东西。

spring spring-boot spring-cloud spring-cloud-config spring-cloud-vault-config

3
推荐指数
1
解决办法
1788
查看次数

Spring Data 从保险库或其他受保护的源读取 MongoDB 密码

目前,我的 spring-boot 应用程序无需凭据即可连接到本地 MongoDB。为了能够在客户处安装它,我需要提供使用用户名和密码进行数据库连接的功能。我正在使用 application.properties 文件,该文件当前仅包含与数据库相关的这 3 行:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=myApp
Run Code Online (Sandbox Code Playgroud)

还有另外两个:

spring.data.mongodb.username
spring.data.mongodb.password
Run Code Online (Sandbox Code Playgroud)

但当然,我不想在这个文件中使用纯文本形式的密码,或者更糟糕的是在我们的 git 中。一种选择是将它们作为启动脚本的参数提供,但它又可以在流程详细信息中作为纯文本读取。

我已经使用Jasypt在属性文件中看到了一些加密,但我不明白这种方法在我的情况下如何工作。我从未明确使用这些属性,因为它们是由 spring 自动获取来进行连接的。

最安全的方法是什么?

java security credentials spring-data-mongodb spring-boot

3
推荐指数
1
解决办法
3092
查看次数

在 Spring Boot 应用程序中,哪里可以关闭 Lettuce Redis 连接?

我已经使用 Lettuce(io.lettuce.core.api) 配置初始化了 Spring Boot 应用程序,如下所示

@Configuration
class RedisConfiguration  {

    @Value("${spring.redis.host}")
    private String redisHostname;
    @Value("${spring.redis.port}")
    private int redisPort;

    private StatefulRedisConnection<String, String> redisConnection;
    private static RedisClient redisClient;

    @Bean
    public RedisCommands connectionFactory() {
        RedisURI redisURI = RedisURI.create(redisHostname,redisPort);
        redisClient = RedisClient.create(redisURI);
        redisConnection = redisClient.connect();
        RedisCommands<String, String> syncCommands = 
        redisConnection.sync();
        return syncCommands;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想redisClient.shutdown();在应用程序关闭或退出时调用。终止redis连接的正确位置是什么?

java spring lettuce spring-data-redis spring-boot

3
推荐指数
1
解决办法
9295
查看次数

如何使用 Spring Data R2DBC 控制事务流的流程?

最近似乎已经实现了对事务流的支持,但由于它的新颖性,代码示例并不多。

有人可以展示一个事务流的例子,它执行一系列数据库插入,然后在成功时返回一些值,但在插入之间有一个中游检查点来测试某些条件,并可能回滚事务并根据检查点返回不同的值结果?

spring-data-r2dbc r2dbc

3
推荐指数
1
解决办法
1920
查看次数

使用 Lettuce 为 Redis 主/从配置 Spring Data Redis

使用 Lettuce,我们如何配置 Spring Data Redis 运行在主机 x 的 6379 端口和从属运行在相同或不同主机但在端口 6380 上?

java redis spring-data lettuce spring-data-redis

2
推荐指数
1
解决办法
3822
查看次数

如何在 Spring Data Redis Reactive 中使用事务?

我正在尝试使用ReactiveRedisOperationsspring-data-redis 2.1.8 来执行事务,例如:

WATCH mykey
val = GET mykey
val = val + 1
MULTI
SET mykey $val
EXEC
Run Code Online (Sandbox Code Playgroud)

但是在浏览文档ReactiveRedisOperations. 这在反应式客户端中不可用,或者您如何实现这一点?

java spring redis lettuce spring-data-redis

2
推荐指数
1
解决办法
2044
查看次数