Redis
Redis 是 一个开源的 内存中的数据结构存储系统
用途: 数据库 缓存 消息中间件
http://bbs.redis.cn/forum.php?mod=viewthread&tid=481 php-redis 中文文档
支持的数据结构:
字符串 散列 列表 集合 有序集合 ...(范围查询)...
支持 事务(原子操作)
支持 分区等...
redis 管道 服务器回复一个队列的答复 占用内存较大
在服务端未响应时 客户端可以继续向服务端发送请求 并最终一次性读取所有服务端响应 通信的速度
php+redis 实现消息队列
消息队列 消息传输过程中保存消息的容器 消息队列管理器在将消息从它的源中继到它的目标时充当中间人,队列的主要目的是提供路由并保证消息的传递 若消息接受者暂不可用 消息队列保存消息 直到成功传递
主要解决 1.应用耦合 2.异步消息 3.流量削锋等问题
应用场景: 1+2+3+消息通讯
异步处理:
用户注册后需要发注册邮件和注册短信 两种做法:
串行方式: 注册信息写入数据库成功后 发送注册邮件 在发送注册短信。完成后返回客户端
并行方式: 同时发送注册邮件 注册短信 并行可以提高处理时间
当有大量的数据处理时,通过一次性将消息放入队列,处理完成即返回 [消息队列]
若每次等待单个事件处理完返回后再处理下一个事件 中间多了等待时间。[提高效率]