分类:Php / Pear / Mysql / Node.js

Mysql: UTF8, UTF8mb4 和 UTF-16区别, 数据库编码, 数据库保存Emoji表情

1. MySQL 存储编码:用 UTF-8 还是 UTF-16? MySQL 支持多种存储编码,如果存储中文,可以选用 GB2312、UTF-8 或 UTF-16(UCS2) 作为存储编码。如果还要考虑国际化,那么就只能用 UTF-8 或 UTF-16。 这两者中,究竟使用哪种编码更好呢? UTF-8 使用 1 个字节表示数字和英文字母,使用… Read More

PHP: Memcached安装, Memcache/Memcached的PHP操作手册, Memcached使用, Memcached教程

1. memcache和memcached区别   Memcache是什么? Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。 Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。 Memcache官方网站:http://memcached.org/ Memcached又是什么? Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。简单来说就是一个免费开源并且高性能的分布式内存对象缓存系统,主要用于加速动态 Web 程序,减轻数据库负载。 Memcached 可以存储来自调用数据库和 API,或者页面渲染生成的任意类型的数据(字符串,对象)到内存中,也可以直接中内存中去读取。它的 API 支持目前大部分流行的编程语言,Memcached 的官方网站:http://memcached.org/ 启动 Memcached 服务端是通过启动一个… Read More

MySQL: 修改默认编码, MySQL / MariaDB: Set Character Set and Collation to UTF8, Mysql2::Error: Incorrect string value: ‘\xE2\x80\xA8\x09

发现phpmyadmin默认是latin字符编码,导致某些特殊字符,或者乱码字符无法保存,常有的报错类似: Mysql2::Error: Incorrect string value: '\xE2\x80\xA8\x09   1. 那么首先看一下我们的mysql默认字符是什么:   sudo mysql mysql> status -------------- mysql Ver 14.12 Distrib 5.0.45, for… Read More

PHP: Gearman实现分布式处理, 分布式任务分发框架Gearman教程

一. 场景分析 业务服务压力比较大,想把一些占用资源的功能异步到远程处理,比如记录业务日志,文件加密,文件分发到其他文件服务器节点上,检查文件服务器是否已同步,对用户上传的图片进行剪裁生成多份缩略图,视频转换,静态内容生成,清除缓存等等,这些请求耗时长,占用系统资源大,影响业务正常访问。这些问题会经常遇到的,如果这些任务都在用户请求过程中完成,服务器撑不撑得住暂不考虑,单凭用户体验角度考虑来说,那是难以忍受的。 二. 解决之道 对于这种需求,我们可以通过分布式计算,对任务进行拆分,转移到多台服务器上进行异步或同步处理。分布式消息队列有多种实现方式如rabbitmq、gearman等。 在这里主要说gearman—分布式处理系统。gearman由三部分组成:Job server,worker server,client server。 任务服务器job server运行这gearmand进程,来负责处理应用的远程调用请求,并且维护计算任务;工作服务器worker server负责向job server注册函数等待领取任务并执行实际的计算,然后将结果返回给job server;客户端client server提供gearman client API给应用程序调用,API支持多种语言如C、php、perl、python、mysql udf、java、ruby、go等等,主要是向job server添加任务,… Read More

PHP使用CURL详解,CURL实例,CURL爬虫,CURL采集,CURL Restful(POST、GET、PUT、DELETE)

PHP使用CURL详解 Curl是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。 使用方法 使用CURL的PHP扩展完成一个PHP的请求,一般分为四个步骤: 初始化Curl连接句柄 设置属性选项 执行获取结果,处理异常 关闭Curl连接句柄 基本结构 (1)初始化 curl_init() (2)设置变量curl_setopt() (3)执行并获取结果curl_exec() (4)释放cURL句柄curl_close() cURL实现Get和Post Get方式实现 //初始化 $ch… Read More