Я создаю структуру телефонной книги в redis, где структура одной записи выглядит примерно так:
phone:<phone_number>
phone_no -> 9991119990
name -> Jhon
address - > '54 street, somewhere'
phone_no, name, address - это поля для phone:<phone_number>
Key.может быть любым номером мобильного телефона.
Иногда адрес поля устанавливается пустым, т. е. нет в случае Python (как показано ниже)
p_details ={
"name":"Roger"
"address": None
}
И когда я пытаюсь сделать redis_client.hmset(phone:<phone_number>, p_details)
, яполучить следующую ошибку:
DataError: Invalid input of type: 'NoneType'. Convert to a byte, string or number first.
И да, мы можем сказать, что сохранение значений None не имеет смысла в некоторых случаях, но здесь я отправляю ответ обратно в API, который ожидает, что все ключи присутствуютв ответе, и если значения отсутствуют, то он ожидает None (что похоже на nil в redis).
Я не могу использовать здесь значения Sentinel или что-то вроде "" из-за других зависимостей приложения.
Можете ли вы предложить какой-либо способ хранения значения None (т. Е. Nil) в redis, соответствующего полю в хэше?