Что такое команда CLI для просмотра внутри установленного типа данных в Redis? - PullRequest
0 голосов
/ 05 мая 2019

Я использую CRUDRepository в моем проекте redis для передачи данных весной, чтобы сохранить хэш redis в моем кластере redis.у меня есть остальные API, написанные для сохранения и получения значений данных.это работает нормально.

однако моя сущность, помеченная RedisHash, сохраняется как набор /, и я не могу заглянуть внутрь значения с помощью redis cli.

как мне посмотреть внутри установленного типа данных (без всплывающих окон) в redis cli

я посмотрел на странице команд redis https://redis.io/commands#set я получаю только те операции, которые могут выдавать значения.Мне нужно просто посмотреть

РЕДАКТИРОВАТЬ: чтобы прояснить ситуацию, я использую Spring Crudrepo, чтобы сохранить пользовательский объект в хранилище данных Redis.пользовательский объект сохраняется как заданный тип данных.

когда я запрашиваю информацию о пользователе, я могу видеть всю информацию о пользователе

{userName: "somak", userSurName: "dattta", age: 23, zipCode: "ah56h"}

По сути, я хочу сделать то же самое, используя redis cli ... но все, что я получаю, - это 127.0.0.1:6379> smembers user 1) "somak", как мне заглянуть внутрь объекта 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 голосов
/ 05 мая 2019

Я не понимаю вашего описания вашей проблемы, но я понимаю ваш заголовок.

В режиме redis член всегда имеет строковый тип.

Я надеюсь, что вы можете предложить больше информациио UserRepository.save:

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

И вы можете проверить свои данные redis и проверить тип данных при вызове rest api.

...