Redis(REmote DIctionary Server)是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库.
Redis的五大数据类型
1.String
String是Redis最基础也是最常用的一种数据类型, 是一种简单的key-value类型, string类是二进制安全的,最大可储存512MB
应用场景:常用于统计网站访问量,在线人数等
2.Hash
Hash是一个键值对集合,可以将多个key-value存储到一个key中,Hash非常适合储存对象,每一个Hash可以存储4294967295个键值对
应用场景:如存储、读取、修改对象属性等
3.List
List是由多个字符串值组成的有序可重复的序列,是链表结构,List允许从序列的头部(左边)或者尾部(右边)推入或者弹出元素,List可以包含的最大元素数量是4294967295
应用场景:1.网站热搜榜 2.消息队列,以完成多程序之间的消息交换.可以用push操作将任务存在list中(生产者),然后线程在用pop操作将任务取出进行执行(消费者)
4.Set
Set是string类型的无序不可重复集合,是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1),Set最大的优势在于可以进行交集并集差集操作.Set可包含的最大元素数量是4294967295
应用场景: 1.社交网站共同关注 2.统计网站当前用户
5.zset(sorted set)
zset与set类似,都不允许重复的成员,与set不同的是zset种每一个成员会有一个分数(doublie类型)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序,zset中成员是唯一的,但分数是可以重复的
应用场景: 各种排行榜