redis学习-redis各个数据类型使用场景

一、回顾一下Redis的几个基本数据类型:

       String    List     Set   Hash   Zset

       回归redis的本质,充当数据缓存,降低磁盘IO的操作的次数,提升查询响应速度;

      1、String   字符串类型实际上可以是字符串 (简单的字符串、复杂的字符串(xml、json)、数字(整数、浮点数)、二进制(图片、音频、视频)), 但最大不能超过512M。

      2、list   列表类型是用来储存多个有序的字符串,列表中的每个字符串成为元素(element),一个列表最多可以储存 2的32次方-1个元素。

      3、Set

二、具体说一下每种数据类型的使用场景:

      1、String:

            1)根据incr   key   命令实现计数器,由于redis是单线程的,所以不用担心分布式问题; 

                 如:文章浏览量:incr     article:aricleId:visitCount
 

            2)类似计数器的作用,可以使用incr key 指令,自动累加的功能,将生成的ID,作为唯一ID使用。

      2、List:

           首先List特征是链表,有序的,可以重复的;

           1)栈  :lpush+lpop

           2)队列:lpush+rpop

          3)消息队列:lpush+brpop
      3、Set:

           集合类型也是用来保存多个字符串的元素,但和列表不同的是集合中不允许有重复的元素,并且集合中的元素是 无序的,不能通过索引下标获取元素;

           1)标签(tag):

                集合类型比较典型的使用场景,如一个用户对娱乐、体育比较感兴趣,另一个可能对新闻感兴趣,这些兴趣就是标签,有了这些数据就可以得到同一标签的人,以及用户的共同爱好的标签,这些数据对于用户体验以及曾强用户粘度比较重要。   

          sadd=tagging(标签)

          spop/srandmember=random item(生成随机数,比如抽奖)

          sadd+sinter=social Graph(社交需求)

待补充

你可能感兴趣的:(nosql数据库)