在Redis中查看设置数据类型内部的CLI命令是什么

时间:2019-05-05 05:56:21

标签: spring spring-boot redis spring-data-redis

我在spring数据redis项目中使用一个CRUDRepository来将redis哈希持久存储在我的redis集群中。我已经编写了其余的api来持久化并获取数据的值。这很好。

但是我的带有RedisHash注释的实体被另存为set /,并且我无法使用redis cli来查看值的内部。

我如何在redis cli中查看设置的数据类型(不弹出)

我查看了redis命令页面https://redis.io/commands#set 我只得到可以弹出价值的操作。我只想偷看

编辑: 为了使事情更清楚,我正在使用spring crudrepo将用户实体保存到redis数据存储中。用户实体将保存为设置的数据类型。

当我查询用户详细信息时,我可以看到用户的全部详细信息

{ userName:“ somak”, userSurName:“ dattta”, 年龄:23​​岁 邮政编码:“ ah56h” }

我本质上想使用redis cli来做同样的事情...但是我得到的只是 127.0.0.1:6379>成员用户 1)“索马克” 我如何看待somak对象内部。

@RestController
@RequestMapping("/immem/core/user")
public class UserController {

    @Autowired
    private UserRepository userRepository;


    @RequestMapping(path = "/save", method = RequestMethod.GET, produces = "application/json")
    @ResponseStatus(HttpStatus.OK)
    public void saveUserDetails() {

        User user = new User();
        user.setAge(23);
        user.setUserName("somak");
        user.setUserSurName("dattta");
        user.setZipCode("ah56h");
        userRepository.save(user);
    }

    @RequestMapping(path="/get/{username}", method = RequestMethod.GET, produces = "application/json")
    public User getUserDetails(@PathVariable("username") String userName) {

        return userRepository.findById(userName).get();
    }
}




@Repository
public interface UserRepository extends CrudRepository<User, String>{

}



@RedisHash("user")
public class User {

    private @Id String userName;

    private @Indexed String userSurName;

    private @Indexed int age;

    private String zipCode;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserSurName() {
        return userSurName;
    }

    public void setUserSurName(String userSurName) {
        this.userSurName = userSurName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }


}

1 个答案:

答案 0 :(得分:0)

我对您的问题不屑一顾,但我理解您的头衔。

在redis设置中,成员始终为字符串类型。

我希望您可以提供有关UserRepository.save的更多信息:

    User user = new User();
    user.setAge(23);
    user.setUserName("somak");
    user.setUserSurName("dattta");
    user.setZipCode("ah56h");
    userRepository.save(user);

调用rest api时,您可以检查redis数据和数据类型。