众所周知redis常用的数据类型有5种,但是可能不知道它们的底层基础数据结构:
1.list(ziplist+linkedlist)
它是由压缩列表+双端链表实现的列表对象
应用场景:
消息队列
数据分页
2.string(int+embstr+raw)
它是由简单动态字符串(simple dynamic string,SDS)实现的字符串对象
应用场景:
缓存静态文件(图片、视频、css文件)
计数器(统计网站访问次数)
3.hash(ziplist+hashtable)
它是由压缩列表+字典实现的哈希(散列)对象
应用场景:
存储对象(把用户的信息存到hash里,以用户id为key,用户的详细信息为value)
4.set(intset+hashtable)
它是由整数集合+字典实现的集合对象
应用场景:
查找元素是否存在,记录不能重复的数据(注册用户名)
记录做过的事情(投票系统)
5.zset(ziplist+skiplist)
它是由压缩列表+字典+跳跃表实现的有序集合对象
应用场景:
计算权重
排行榜
学艺不精,暂时想到这么多,以后慢慢补充