众所周知,Redis包含五种基本的数据结构,这里简单介绍下五种数据结构和
各自对应的应用场景。
1. String
key value 的基本形式,value一般通过json的方式保存。
使用场景:比如商品详情,项目有多有少。渲染到页面的话一般是全部取出来去渲染,而不是取其中的某个值。
最大能存储 512M。
2. hash
key hashmap的形式,这里的区别是value是以hashmap的形式存储。
使用场景:存储用户信息。 对应为 key=用户ID, value=具体信息(name,age,sex...), 很多场景下我只需要用户的name,
但是如果用上面的string的话,我需要把value全部取出来json,然后再转为对应的对象,再取到name,消耗了不必要
计算空间。用了hash的话,只需要根据 get 用户id name, 就能直接把name的值取出来,直接避免了进一步转化的
过程。
3. list
链表。
应用场景:主要应用于消息队列的实现。
4. set
无排序且不允许重复。
使用场景: 可以用来取交集,并集等一系列的实现。比如 共同好友 推荐 的功能。
5. zset
自动排序且不允许重复。
使用场景:通过其排序的功能,实现社交网站的 好友排名。