1.字符串类型(String)
Redis 字符串是字节序列。Redis 字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512 M为上限,主要的还是操作键值对。
常用使用场景:
①.缓存信息:
将要储存的信息序列化成字符串,然后将字符串存入redis的value中;通常用于缓存用户的基本信息。将用户的ID存入key中,将其他信息序列化后存入value中。
2.列表类型(List)
Redis 的链表是简单的字符串列表,排序插入顺序。
常用使用场景:
①.秒杀抢购:
将商品ID作为key,将商品数目最为value。
3.数据类型(Hash)
Redis 的哈希是键值对的集合。
Redis 的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象,还有用户信息之类的,经常变动的信息。
Hash更适合用于对象的存储,String更适合字符串存储。
常用使用场景:
①.保存信息:
hash字典类型也是比较适合保存结构体信息的,不同于字符串一次序列化整个对象,hash可以对用户结构中的每个字段单独存储。这样当我们需要获取结构体信息时可以进行部分获取,而不用序列化所有字段,而将整个字符串保存的结构体信息只能一次性全部读取。
4.集合类型(Set)
Redis 的集合是字符串的无序集合。
在Set集合当中,是不允许有重复的。
常用使用场景:
①.去重的场景:
例如视频点赞,key为视频的ID,value为点赞用户的ID,从而记录这个用户是否点赞、统计有哪些用户点赞了。
5.有序列表(Zset)
Redis 的有序集合类似于 Redis 的集合,字符串不重复的集合。
常用使用场景:
①.各种热门信息:
例如微博热门,value值是这条微博的ID,score是浏览次数,这样就可以对微博信息列表按浏览次数进行排序。