The following column redis tutorial will introduce to you the differences and usage scenarios between set and hset in redis. I hope it will be helpful to friends in need!
redisWhen to use hset when storing data in redis What's the difference compared to setting when storing data?
set is an ordinary key-value method for storing data, and you can set the expiration time. The time complexity is O(1). If you execute one more set, there will be one more key in redis. The hset is stored in the form of a hash table. The timeout can only be set on a large key, and cannot be set on a single field. Many articles on Baidu say it is O(1), but the reference article I gave below says that the time complexity is actually O(1). (N) The N value is the number of fields on a single hash, so a single hash is not suitable for storing a large number of fields. If there are too many fields, it will consume more CPU. However, storing them in a hash table saves memory.
So in actual use, set should be used to store a single large text unstructured data. hset stores structured data, a hash stores a piece of data, a filed stores an attribute in a piece of data, and value is the value corresponding to the attribute.
For example, there is a table user in the database that contains 4 attributes: id, name, age, sex, and has 4 million pieces of data,
id, name, age, sex
1, 1, Zhang San, 16, 1
2, 2, Li Si, 22, 1
3, 3, Wang Wu, 28, 0
4, 4, Zhao Liu, 32, 1
...
If you want to cache the entire table in redis, use hash. One piece of data has one hash, and each hash contains 4 fields.
hset user_1 id 1 name Zhang San age 16 sex 1
hset user_2 id 2 name Li Si age 16 sex 1
...
This way Storage, if a certain attribute value of the user changes, it can also be modified individually.
For example, if you change Zhang San’s age to 30, you can use the command: hset user_1 age 30
##For example, if you want to cache the entire homepage html of the application, or Then the detailed introduction of a certain product (generally speaking, the detailed introduction of the product is rich text information in makdown syntax, or rich text information in html format). Then you can use set or a certain For hot data, you can use set to store a large section of data.The above is the detailed content of The difference and usage scenarios between set and hset in redis. For more information, please follow other related articles on the PHP Chinese website!