diff options
Diffstat (limited to '2019/11/event/index.html')
-rw-r--r-- | 2019/11/event/index.html | 148 |
1 files changed, 64 insertions, 84 deletions
diff --git a/2019/11/event/index.html b/2019/11/event/index.html index 685a764..2013e88 100644 --- a/2019/11/event/index.html +++ b/2019/11/event/index.html @@ -32,6 +32,7 @@ <link rel="stylesheet" href="https://xiaohei.im/hugo-theme-pure/css/style.css"> <link rel="stylesheet" href="https://cdn.staticfile.org/highlight.js/9.15.10/styles/github.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.css"> <meta property="og:title" content="Redis-事件" /> <meta property="og:description" content=" 事件驱动程序设计(英语:Event-driven programming)是一种电脑程序设计模型。这种模型的程序运行流程是由用户的动作(如鼠标的按键,键盘的按键动作)或者是由其他程序的消息来决定的。相对于批处理程序设计(batch programming)而言,程序运行的流程是由程序员来决定。批量的程序设计在初级程序设计教学课程上是一种方式。然而,事件驱动程序设计这种设计模型是在交互程序(Interactive program)的情况下孕育而生的。 –wikipedia @@ -170,7 +171,8 @@ <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/corejava/" class="category-list-link">corejava</a><span class="category-list-count">7</span></li> <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/hystrix/" class="category-list-link">hystrix</a><span class="category-list-count">2</span></li> <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/leetcode/" class="category-list-link">leetcode</a><span class="category-list-count">3</span></li> - <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/redis/" class="category-list-link">redis</a><span class="category-list-count">8</span></li> + <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/redis/" class="category-list-link">redis</a><span class="category-list-count">10</span></li> + <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" class="category-list-link">学习笔记</a><span class="category-list-count">1</span></li> <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/" class="category-list-link">消息队列</a><span class="category-list-count">4</span></li> </ul> </div> @@ -197,12 +199,16 @@ class="tag-list-count">3</span></li> + <li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/netty/" class="tag-list-link">netty</a><span + class="tag-list-count">1</span></li> + + <li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/rabbitmq/" class="tag-list-link">rabbitmq</a><span class="tag-list-count">4</span></li> <li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/redis/" class="tag-list-link">redis</a><span - class="tag-list-count">8</span></li> + class="tag-list-count">10</span></li> <li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/rust/" class="tag-list-link">rust</a><span @@ -236,50 +242,50 @@ <li> <div class="item-inner"> <p class="item-title"> - <a href="https://xiaohei.im/hugo-theme-pure/2019/11/replication/" class="title">Redis-复制功能探索</a> + <a href="https://xiaohei.im/hugo-theme-pure/2019/11/netty/" class="title">[学习笔记] Netty</a> </p> <p class="item-date"> - <time datetime="2019-11-16 14:24:40 +0800 CST" itemprop="datePublished">2019-11-16</time> + <time datetime="2019-11-29 18:40:27 +0800 CST" itemprop="datePublished">2019-11-29</time> </p> </div> </li> <li> <div class="item-inner"> <p class="item-title"> - <a href="https://xiaohei.im/hugo-theme-pure/2019/11/event/" class="title">Redis-事件</a> + <a href="https://xiaohei.im/hugo-theme-pure/2019/11/cluster/" class="title">Redis HA - Cluster</a> </p> <p class="item-date"> - <time datetime="2019-11-14 15:01:45 +0800 CST" itemprop="datePublished">2019-11-14</time> + <time datetime="2019-11-24 11:48:17 +0800 CST" itemprop="datePublished">2019-11-24</time> </p> </div> </li> <li> <div class="item-inner"> <p class="item-title"> - <a href="https://xiaohei.im/hugo-theme-pure/2019/11/aof/" class="title">Redis-AOF持久化</a> + <a href="https://xiaohei.im/hugo-theme-pure/2019/11/sentinel/" class="title">Redis HA - 哨兵模式</a> </p> <p class="item-date"> - <time datetime="2019-11-08 15:18:05 +0800 CST" itemprop="datePublished">2019-11-08</time> + <time datetime="2019-11-23 17:56:15 +0800 CST" itemprop="datePublished">2019-11-23</time> </p> </div> </li> <li> <div class="item-inner"> <p class="item-title"> - <a href="https://xiaohei.im/hugo-theme-pure/2019/11/rdb/" class="title">Redis-RDB持久化</a> + <a href="https://xiaohei.im/hugo-theme-pure/2019/11/replication/" class="title">Redis-复制功能探索</a> </p> <p class="item-date"> - <time datetime="2019-11-06 19:08:56 +0800 CST" itemprop="datePublished">2019-11-06</time> + <time datetime="2019-11-16 14:24:40 +0800 CST" itemprop="datePublished">2019-11-16</time> </p> </div> </li> <li> <div class="item-inner"> <p class="item-title"> - <a href="https://xiaohei.im/hugo-theme-pure/2019/11/db/" class="title">Redis-数据库长什么样?</a> + <a href="https://xiaohei.im/hugo-theme-pure/2019/11/event/" class="title">Redis-事件</a> </p> <p class="item-date"> - <time datetime="2019-11-06 11:00:32 +0800 CST" itemprop="datePublished">2019-11-06</time> + <time datetime="2019-11-14 15:01:45 +0800 CST" itemprop="datePublished">2019-11-14</time> </p> </div> </li> @@ -291,52 +297,14 @@ - <aside class="sidebar sidebar-toc collapse" id="collapseToc" itemscope itemtype="http://schema.org/WPSideBar"> - <div class="slimContent"> - <nav id="toc" class="article-toc"> - <h3 class="toc-title">文章目录</h3> - <div class="toc-content always-active"><nav id="TableOfContents"> -<ul> -<li> -<ul> -<li><a href="#文件事件">文件事件</a> -<ul> -<li><a href="#文件事件处理器">文件事件处理器</a> -<ul> -<li><a href="#什么是-i-o-multiplexing">什么是 I/O Multiplexing?</a></li> -<li><a href="#文件事件处理器结构">文件事件处理器结构</a></li> -<li><a href="#文件事件类型">文件事件类型</a> -<ul> -<li><a href="#事件处理的先后顺序">事件处理的先后顺序</a></li> -</ul></li> -</ul></li> -<li><a href="#事件处理器">事件处理器</a> -<ul> -<li><a href="#常用时间处理器">常用时间处理器</a></li> -</ul></li> -<li><a href="#文件事件处理流程">文件事件处理流程</a></li> -</ul></li> -<li><a href="#时间事件">时间事件</a> -<ul> -<li><a href="#属性">属性</a></li> -<li><a href="#时钟问题">时钟问题</a> -<ul> -<li><a href="#时间事件执行流程">时间事件执行流程</a></li> -</ul></li> -</ul></li> -<li><a href="#事件循环-event-loop">事件循环 Event Loop</a> -<ul> -<li><a href="#aeeventloop">aeEventLoop</a></li> -<li><a href="#aeprocessevent">aeProcessEvent</a></li> -</ul></li> -<li><a href="#参考">参考</a></li> -</ul></li> -</ul> -</nav> - </div> - </nav> - </div> - </aside> +<aside class="sidebar sidebar-toc collapse" id="collapseToc" itemscope itemtype="http://schema.org/WPSideBar"> + <div class="slimContent"> + <h4 class="toc-title">文章目录</h4> + <nav id="toc" class="js-toc toc"> + + </nav> + </div> +</aside> <main class="main" role="main"><div class="content"> <article id="-" class="article article-type-" itemscope itemtype="http://schema.org/BlogPosting"> @@ -377,7 +345,7 @@ <span class="post-readcount hidden-xs" itemprop="timeRequired">阅读时长:5分 </span> </div> </div> - <div class="article-entry marked-body" itemprop="articleBody"> + <div class="article-entry marked-body js-toc-content" itemprop="articleBody"> <blockquote> <p><strong>事件驱动程序设计</strong>(英语:<strong>Event-driven programming</strong>)是一种电脑<a href="https://zh.wikipedia.org/wiki/程式設計">程序设计</a><a href="https://zh.wikipedia.org/wiki/模型">模型</a>。这种模型的程序运行流程是由用户的动作(如<a href="https://zh.wikipedia.org/wiki/滑鼠">鼠标</a>的按键,键盘的按键动作)或者是由其他程序的<a href="https://zh.wikipedia.org/wiki/訊息">消息</a>来决定的。相对于批处理程序设计(batch programming)而言,程序运行的流程是由<a href="https://zh.wikipedia.org/wiki/程式設計師">程序员</a>来决定。批量的程序设计在初级程序设计教学课程上是一种方式。然而,事件驱动程序设计这种设计模型是在<a href="https://zh.wikipedia.org/w/index.php?title=互動程序&action=edit&redlink=1">交互程序</a>(Interactive program)的情况下孕育而生的。 <a href="https://zh.wikipedia.org/wiki/事件驅動程式設計">–wikipedia</a></p> </blockquote> @@ -419,7 +387,7 @@ <h4 id="文件事件处理器结构">文件事件处理器结构</h4> -<p><img src="https://raw.githubusercontent.com/xiaoheiAh/imgs/master/20191115142151.png" alt="文件事件处理器结构" style="zoom:50%;" /></p> +<p><img src="https://cdn.jsdelivr.net/gh/xiaoheiAh/imgs@master/20191115142151.png" alt="文件事件处理器结构" style="zoom:50%;" /></p> <p>每一个套接字 <code>socket</code> 可以执行连接,读写,关闭操作时,会产生一个 <strong>文件事件</strong>.,<code>I/O 多路复用</code> 监听这些 <code>FD</code> 的操作请求,并向 <strong>文件事件派发器</strong> 传递产生文件事件的 <code>FD</code>. 虽然会并发的产生 N 个文件事件,但 <code>I/O多路复用</code> 会将其都放入一个队列中,<strong>顺序且同步地</strong>向 <strong>文件事件分派器</strong> 传送.处理完一个再传下一个.</p> @@ -731,39 +699,52 @@ if (te->id == AE_DELETED_EVENT_ID) { <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script> <script> - window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>') + window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>') </script> <script type="text/javascript" src="https://cdn.staticfile.org/highlight.js/9.15.10/highlight.min.js"></script> <script type="text/javascript" src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/rust.min.js"></script> <script type="text/javascript" - src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/dockerfile.min.js"></script> + src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/dockerfile.min.js"></script> <script> -hljs.configure({ - tabReplace: ' ', - classPrefix: '' - -}) -hljs.initHighlightingOnLoad(); + hljs.configure({ + tabReplace: ' ', + classPrefix: '' + + }) + hljs.initHighlightingOnLoad(); </script> <script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/application.js"></script> <script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/plugin.js"></script> <script> - (function (window) { - var INSIGHT_CONFIG = { - TRANSLATION: { - POSTS: '文章', - PAGES: '页面', - CATEGORIES: '分类', - TAGS: '标签', - UNTITLED: '(未命名)', - }, - ROOT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure', - CONTENT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure\/searchindex.json ', - }; - window.INSIGHT_CONFIG = INSIGHT_CONFIG; - })(window); - </script> + (function (window) { + var INSIGHT_CONFIG = { + TRANSLATION: { + POSTS: '文章', + PAGES: '页面', + CATEGORIES: '分类', + TAGS: '标签', + UNTITLED: '(未命名)', + }, + ROOT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure', + CONTENT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure\/searchindex.json ', + }; + window.INSIGHT_CONFIG = INSIGHT_CONFIG; + })(window); +</script> <script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/insight.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.min.js"></script> +<script> + tocbot.init({ + + tocSelector: '.js-toc', + + contentSelector: '.js-toc-content', + + headingSelector: 'h1, h2, h3', + + hasInnerContainers: true, + }); +</script> <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> @@ -792,6 +773,5 @@ if (!doNotTrack) { </script> <script async src='https://www.google-analytics.com/analytics.js'></script> - </body> </html> |