登录流程 这种方法仅限于资源全储存于一台服务器上,如网站分布在多台服务器上,则需要单独将登录标识储存于数据库,然后给浏览器返回一个随机序列号作为SessionID,浏览器下次访问时会携带这个SessionId,然后从数据库(Memcache缓存)中查找,根据查找结果判断用户是否已经登录 这是实现服务 ...
分类:
Web程序 时间:
2017-10-20 10:21:50
阅读次数:
233
Cache缓存在计算机领域是一个被普遍使用的概念。硬件中CPU有一级缓存,二级缓存, 浏览器中有缓存,软件开发中也有分布式缓存memcache, redis。缓存无处不在的原因是它能够极大地提高硬件和软件的运行速度。在项目开发中,性能慢的地方常常是IO操作频繁的地方,读取数据库是我们常见的消耗性能的 ...
分类:
Web程序 时间:
2017-10-19 13:54:24
阅读次数:
252
用libevent写个定时器其实步骤不多: 1、初始化libevent 2、设置事件 3、添加事件 4、进入循环 由于定时事件触发之后,默认自动删除,所以如果要一直计时,则要在回调函数中重新添加定时事件。 ...
分类:
其他好文 时间:
2017-10-18 23:09:41
阅读次数:
217
Linux下Memcache服务器端的安装服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。下载:http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz另外,Memcache用到了libeve ...
分类:
Web程序 时间:
2017-10-18 19:51:57
阅读次数:
177
协程和io多路复用的区别 都继承了相同的类 libevent.so 协程也可以理解是io多路复用 io多路复用更偏向io一点 协程是更上层的一种封装 偏向于函数的切换。 RabbitMQ 消息队列 1.单发送单接收 2.单发送多接收 3.广播、订阅模式 4.有选择的接收消息 Routing (按路线 ...
分类:
编程语言 时间:
2017-10-18 18:28:38
阅读次数:
294
一,Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add ...
分类:
其他好文 时间:
2017-10-18 16:46:22
阅读次数:
412
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file ...
分类:
其他好文 时间:
2017-10-18 11:13:27
阅读次数:
156
libevent使用struct event来表示一个事件。 具体字段含义不再细说,可参考event_assign进行理解。 ev_events, 事件类型 对于定时器事件,不需要设置EV_TIMEOUT。 ev_flags,事件状态 EVLIST_INIT: 事件初始状态。 ...
分类:
其他好文 时间:
2017-10-17 18:57:30
阅读次数:
237
本文主要研究libevent中用来存储事件的两个结构体。 尾队列 具体定义位于queue.h中。 从定义可以看出,尾队列是一个双向链表,具体表现为: 一个小DEMO: #include <stdio.h> #include <stdlib.h> #include <sys/queue.h> #def ...
分类:
其他好文 时间:
2017-10-17 12:34:56
阅读次数:
231
libevent能够处理三种事件: I/O、定时器、信号。 event_base统一管理所有事件。 eventop 用于描述event_base的底层实现机制 libevent支持多种平台,因此定义了一个全局数组来存放多个eventop。 Linux平台的I/O多路复用机制是epoll,对应epol ...
分类:
其他好文 时间:
2017-10-17 12:18:42
阅读次数:
251