gpt4 book ai didi

spring-boot - Redis Spring Boot如何从命令行查看值

转载 作者:行者123 更新时间:2023-12-03 06:42:08 25 4
gpt4 key购买 nike

我正在使用Spring Boot和Redis,我有这个简单的结构

public class Redis {    
@Id
private String key;

private Integer value1;

private Integer value2;
}

@Repository
public interface RedisRepository extends CrudRepository<Redis, String> {
}


redisRepository.save(new Redis("myKey", 1, 2));

127.0.0.7:6379> KEYS *
1) "myKey"
127.0.0.7:6379> type "myKey"
set
我没有看到任何值,如何从命令行中看到这些值,在这种情况下,我想看到1和2。

最佳答案

如果使用RedisRepository,spring不会使用简单的键,值模式将对象数据存储在redis中。它使用redis的哈希操作。例如,我有一个模型RedisModel.java

@Data
@AllArgsConstructor
@RedisHash("redis_model")
public class RedisModel {
@Id
String key;
Integer value1;
Integer value2;
}
也是一个仓库 RedisRepository.java
@Repository
public interface RedisRepository extends CrudRepository<RedisModel, String> {
}

我像这样用RedisRepository保存了RedisModel
redisRepository.save(new RedisModel("key",1,2));
但是当我监视redis的日志时,我看到
1603128368.772046 [0 127.0.0.1:37776] "DEL" "redis_model:key"
1603128368.781117 [0 127.0.0.1:37776] "HMSET" "redis_model:key" "_class" "com.bimurto.springdataredis.RedisModel" "key" "key" "value1" "1" "value2" "2"
1603128368.782503 [0 127.0.0.1:37776] "SADD" "redis_model" "key"
因此,如果要在redis命令行中查看值,则必须使用redis的哈希操作命令。如果要获取对象的所有值,请使用 HGETALL。例如
127.0.0.1:6379> HGETALL redis_model:key
1) "_class"
2) "com.bimurto.springdataredis.RedisModel"
3) "key"
4) "key"
5) "value1"
6) "1"
7) "value2"
8) "2"

如果您想要单个键的值,则使用 HMGET
127.0.0.1:6379>HMGET redis_model:key value1
1) "1"

关于spring-boot - Redis Spring Boot如何从命令行查看值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64431482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com