redis系列

简介:

      Reids默认端口6379,队列要遵循先进先出的原则,是在消息的传输中保存消息的容器,消息队列管理器在将消息从它的源中继到它的目标时充当中间人,队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,知道可以成功的传递它。

Redis数据类型:

      String、hash、list、zset、set

字符串string

    Redis中的key、value区分大小写,命令不区分大小写,value最大可容纳的数据长度是512M。

    Set key value  往key中存入一个值value

    Get key       获取键key的值

    Incr key       key值对应的value自增1,如果没有这个key值自动给你创建 并赋值1

    Decr key      key值对应的value自减1

  应用场景:

    Incr、decr 计数器

    Setnx、expire、del 分布式锁

    set 存储对象(不常变化的部分)

散列hash

      相当于是一个key中存在多个map。Redis中的散列可以看成具有key和value的map容器,可以将多个key-value存储到一个key中,每个hash可以存储4294967295

个键值对。

    Hset key field value  设置值

    Hget key field   获取值

  应用场景:

    购物车:以用户的id为key,商品的id为field 商品的数量为value

    hset、hincby 存储对象(频繁变化的部分)

无序集合set

      Redis的集合是无序不可重复的(此处的无序是数据不能重复),和列表一样,在执行插入和删除以及判断是否存在某元素时,效率是很高的,集合最大的优势在于可以进行交集、并集、差集操作。Set可包含的最大元素数量是4294967295。

应用场景:

  • 利用交集求共同好友;
  • 利用唯一性,可以统计访问网站的所有独立IP;
  • 好友推荐的时候,更具tag求交集,大于某个threshold(临界值)就可以推荐;

有序集合sortedset(zset)

      有顺序的,不能重复(此处的不能重复是索引为唯一的,数据却可以重复),和set很像,都是字符串的集合,都不允许重复的成员出现出现在一个set中,它们之间的差别在于有序集合中每个成员都会有一个分数(score)与之关联,redis正是通过分数来为集合中的成员从小到大的顺序。尽管有序集合中

应用场景:

  • 利用交集求共同好友;
  • 利用唯一性,可以统计访问网站的所有独立IP;
  • 好友推荐的时候,更具tag求交集,大于某个threshold(临界值)就可以推荐;

 

posted @ 2020-08-21 10:23  xupp  阅读(22)  评论(0编辑  收藏  举报