Android推送方案分析(MQTT/XMPP/GCM)

本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案。

方案1、使用GCM服务(Google Cloud Messaging)
简介:Google推出的云消息服务,即第二代的C2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。…

                

MQTT消息协议、服务器及其客户端

MQTT是一个轻量级的消息协议。从2014年12月IOIT大会上得到的消息,该协议已经被OASIS标准组织接收,成立了专门的工作组,以意味着该规范正式走向了标准化之路。

目前MQTT的标准组织官网:http://www.mqtt.org,里面列出了很多支持的软件相关资源。

一个轻量级的MQTT服务器是:http://www.mosquitto.org,可以运行ARM/MIPS的嵌入式linux系统上,如OpenWRT。

很多客户端模块现在被Eclipse基金会接管,发展很快。所有的语言支持客户端在这里:http://git.eclipse.org/c/paho/

下面介绍基于python的MQTT的客户端的安装:…

        

php 框架应有的功能

php 框架应有的功能

高性能,MVC,缓存  数据缓存 与 页面缓存,生成静态html,调试模式,编译机制,类库导入,URL和路由,数据库,模块分组,自动验证和完成,扩展机制,日志,错误,惰性加载,模板引擎,行为,ORM,DAO/ActiveRecord,主题,安全性与XSS过滤,Layout,widget,依赖注入,控制反转,面向方面(AOP),事件,服务定位,命令行,rest,片段缓存,权限管理,认证,控制器,模型,驱动,类库,扩展,函数库,钩子,配置文件,消息队列,任务调度,服务提供者,服务容器,

=============

新版本:

 

高性能*
Env*
MVC*
缓存*-
数据缓存
浏览器缓存(http缓存)
页面缓存*-(配置哪个url可缓存,及缓存时间,只有GET请求可缓存)
生成静态html
调试模式*
编译机制*-(模板有)*
类库导入*(psr4自动导入)*
URL生成 *
request *
response *
路由*- (自动路由*,fallback路由-,闭包路由*,类路由*,方法路由*,分组路由*,资源路由,命名路由*)
数据库*
session*
cookie*…

            

MySQL优化GROUP BY-松散索引扫描与紧凑索引扫描

满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中,MySQL能够做得更好,即通过索引访问而不用创建临时表。

为GROUP BY使用索引的最重要的前提条件是所有GROUP BY列引用同一索引的属性,并且索引按顺序保存其关键字。是否用索引访问来代替临时表的使用还取决于在查询中使用了哪部分索引、为该部分指定的条件,以及选择的累积函数。

由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与 ORDER BY 一样也可以利用到索引。在MySQL 中,GROUP BY 的实现同样有多种(三种)方式,其中有两种方式会利用现有的索引信息来完成 GROUP BY,另外一种为完全无法使用索引的场景下使用。下面我们分别针对这三种实现方式做一个分析。…