Redis自身是一个Map,其中所有的数据都是采用key:value的形式存储,数据类型指的是存储的数据的类型,也就是value部分的类型,key部分永远都是字符串。
一、String字符串
存储的值:可以是字符串、整数或浮点数;
读写能力:对整个字符串或字符串的一部分进行操作;对整数或浮点数进行自增或自减操作;
应用场景:缓存对象、常规计数、分布式锁、共享session信息等。
二、Hash散列
存储的值:包含键值对的无序散列表;
读写能力:包含有添加、获取、删除单个元素;
应用场景:缓存对象、购物车等。
三、List列表
存储的值:一个链表,链表上的每个节点都包含一个字符串;
读写能力:对链表的两端进行push和pop操作,读取单个或多个元素;根据值查找或删除元素;
应用场景:消息队列等。
四、Set集合
存储的值:包含字符串的无序集合;
读写能力:字符串的集合,判断是否存在添加、获取、删除;计算交集、并集、差集等;
应用场景:聚合计算场景,比如点赞、共同关注、抽奖活动等。
五、Zset有序集合
存储的值:和散列一样,用于存储键值对;
读写能力:添加、获取、删除单个元素等;
应用场景:排序场景,比如排行榜、电话和姓名排序等。