Redis

作者: LeeZer | 来源:发表于2017-07-26 23:04 被阅读0次

    PPT

    视频链接

    一、为什么使用redis,redis是一种缓存机制,一般我们的存储有几种,

    硬盘存储

    为什么使用硬盘存储,因为硬盘存储可是保证数据持持久化。

    缓存存储

    缓存存储可以保证数据在内存中高效的被调用。所以我们一般在缓存中存储一些高点击,高热点的数据

    其实tomcat中有自带的缓存,叫EC-cache,因为他是定义在启动容器中,所以其中的大小是有限制的,而且只能在单一的情况下使用。所以我们不怎么使用

    现在比较常用的两个缓存服务:

    memcache:memcache查询效率高,能容许并发量大。但是它的缺点就是存储比较单一,memcache只能存储String类型的数据

    redis:现在使用的比较多。为什么使用redis呢,因为redis查询效率高,能容许并发量大,最关关键的就是,redis支持下列类型数据存储:

    Stirng 使用方法就是set key value的形式存储。查询就是使用get key的形式完成。这里还要提一下的就是我们常常使用缓存完成一些并发操作。例如有两个用户同时对一件东西抢购。这回造成并发问题。我们可以使用redis,把我们的问题简化成,我们在抢购的时候我们其中一个用户setnx 一个数据进入redis,当同时我们B用户也需要的时候也setnx一个进入缓存 发现存在了就等着A用户抢购完成执行。才能setnx,这个时候时间已经过期了,所以我们就完成了一次并发处理。

    expire是用来处理key失效的时间的。

    hashMap:存储的方式和使用hmset key value key value的形式完成。获取就是hgetall 单个改变就是hset key value的形式。

    list 使用的是l(r)push  list key value value... 相当于我们最基础的堆操作。我们要查询的时候使用lrange key 范围来查询。

    set这个是用来去冲的我们是不能存储相同的数据在一个set里面。查询两组set中相同的数据,setinner

    不相同的是setdiff

    介绍完了,剩下的就是我们需要讲一下,

    java中使用jedis来实现。

    然后剩下的就是订阅的思想:

    订阅的思想,举个例子:

    现在打仗了,司令给1营频道发了一个message,从左侧突袭。所有一营soldiers接受到频道1的消息,然后就去做这件事情,

    换做现在来说呢,就像滴滴打车,同一个范围内的很多司机,他们都在等着接单,现在一名乘客开始要求乘车,发送了一个消息,在这个范围内的频道的司机们接受到了,就开始枪弹。这就是消息订阅的原理。一般消息订阅是不妨在业务逻辑上进行处理,单独放在另外一套系统里进行处理,类似的还有接受短信和消息。

    我们通过redis进行讲解,首先我们需要开启redis的客户端,然后我们需要使用subscribe 频道 来监听我们还这个频道发过来的消息,然后我们发送一条消息的时候他们监听到了,就是这个原理。

    现在我们不使用redis的订阅机制,因为比较鸡肋,我们一般使用的是AcitveMq来专门处理这类似消息处理机制的问题。使用publish 频道来推送我们的消息。

    消息队列是个很重要的东西,我们需要知道怎么使用ActiveMQ

    相关文章

      网友评论

        本文标题:Redis

        本文链接:https://www.haomeiwen.com/subject/irlakxtx.html