Storing object properties in redis

拥有回忆 提交于 2019-11-27 01:52:44

问题


Lets say I have an object (User) which consists of a few properties (ID, Name, Surename, Age). Which way is better to store this object in redis?

  • store each property value in dedicated key, for example user:{id}:id, user:{id}:name, user:{id}:surename, user:{id}:age
  • store whole User object as JSON string in one key, for example user:{id}:json (value of the key will be something like this: {"ID": 123, "Name": "Johny", "Surename": "Bravo", "Age": 22})

回答1:


According to these two sources probably the optimal solution would be to use hashes because of memory consumption when using dedicated keys and long string in scenario with JSON as key value.




回答2:


From official Redis

Use hashes when possible

Small hashes are encoded in a very small space

When you haven't to much fields in it.

Every time an hash will exceed the number of elements or element size specified it will be converted into a real hash table, and the memory saving will be lost.




回答3:


From my tests using hash takes much smaller space, but that is about the only reason. If you have a lot of data consider using hash. Otherwise you might as well use JSON since it's easy to serialize and deserialize it to objects if you so wish, and handle in general.



来源:https://stackoverflow.com/questions/5252456/storing-object-properties-in-redis

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!