Redis支持5种数据类型
字符串(String)
Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着他们的长度不由任何特殊的终止字符决定。因为,可以在一个字符串中存储高达512兆字节的任何内容。 常用操作命令有get、set等
散列/哈希(hash)
Redis散列/哈希是键值对的集合。Redis散列/哈希是字符串字段和字符串值之间的映射,但字段值只能是字符串,不支持其他类型。因此,他们用于表示对象。应用场景:存储用户的基本嘻嘻,等等、
列表(list)
Redis列表知识字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。其实list类型就是一个双向链表,通过lpush、lpop、rpush、rpop这四个命令来向链表的头部插入、移除、尾部插入、移除,这使得list即可以用作栈,也可以用作队列。如下图所示的情景:
无序集合类型(set)
redis的set是String类型的无序集合,set元素最大可以包含2的32次方-1个元素。利用set集合类型,我们可以快速取出n个key之间的并集、交集、差集等,从而轻松解决mysql等数据库不容易实现这种运算的缺陷。应用场景:取出两个QQ号中的共同的好友数。
有序集合类型(sorted set)
和set一样,sorted set也是string类型元素的集合,是一个没有重复元素的字符串集合。因为元素是有序的,所以使用有序集合你可以以非常快的速度(O(log(N)))添加,删除和更新元素,它也很擅长排序。应用场景:获取所有用户投票数最高的前10名,等等。
小结:只有熟练掌握redis各种数据类型的特点之后,才能更好的应用到实际项目中。虽然redis的效率非常高,但是我们还是得非常清楚的理解每种数据类型适合的应用场景,这样才能将redis的优势发挥到极致。