Сохранение свойств объекта в redis
допустим, у меня есть объект (пользователь), который состоит из нескольких свойств (ID, Name, Surename, Age). Какой способ лучше хранить этот объект в redis?
- хранить каждое значение свойства в выделенном ключе, например user: {id}: id, user: {id}: name, user: {id}: surename, user: {id}: age
- хранить весь объект пользователя как строку JSON в одном ключе, например user: {id}: json (значение ключа будет примерно таким: {"ID": 123, "Name": "Johny", "Surename": "Bravo", "Возраст": 22})
3 ответов
использовать хэши, когда это возможно
маленькие хэши кодируются в очень маленьком пространстве
когда у вас не так много полей в нем.
каждый раз, когда хэш будет превышать количество элементов или размер элемента указанный он будет преобразован в реальную хэш-таблицу, а память спасение будет потеряно.
из моих тестов использование хэша занимает гораздо меньше места, но это примерно единственная причина. Если у вас много данных, рассмотрите возможность использования хэша. В противном случае вы можете использовать JSON, так как его легко сериализовать и десериализовать в объекты, если хотите, и обрабатывать в целом.