Redis采用的是键值对的存储形式
一、Redis的键key
1)key的类型:可以用任何二进制序列作为key值
2)key的取值规范:尽量做到见名知意
二、Redis的值value
Redis的数据结构类型值的就是Redis的值vlaue的类型
Redis常用的数据结构类型:String、list、set、sortedSet、hash
1)String类型
常用命令:见http://doc.redisfans.com/
应用场景:1.统计相关业务,例如朋友圈点赞 2.解决多线程的线程安全问题,具体实例可见https://www.cnblogs.com/lch-Hao/p/10927966.html
2)List类型
基于Linked List(双向链表)实现,元素是字符串类型
特点:列表头尾增删快,中间增删慢(主要是由于两条记录顺序的链的增删效率)元素可重复出现,最多包含2^32-1个元素
应用场景:处理排名类业务以及论坛回帖楼层
3)Hash类型(散列)
特点:由Field和与之关联的value组成的map键值对,Field和value是字符串类型,1个hash最多包含2^32-1个键值对
应用场景:在Redis存储中,能用hash尽量用hash,因为由于Key值的减少可以节约内存空间,不适用的场景是需要设置键过期功能的key,Redis的key的过期功能只能对键操作,而Hash结构不能单独对某一个filed设置过期功能。
4)Set类型(集合)
特点:无序的、去重的,元素是字符串类型,最多包含2^32-1个元素
应用场景:新浪微博中的共同关注功能,通过取用户关注中的交集实现
5)SoredSet类型(Redis3.x以后支持的数据类型)
特点:类似Set集合,有序的、去重的,元素是字符串类型,每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。分值可以相同,最多包含2^32-1个元素
应用场景:需要有序且唯一的业务或操作,例:网易云音乐的排行榜功能