haisql_memcache协议
一、haisql_memcache的客户端通过TCP连接与服务器通信
一个已经给定的运行中的haisql_memcache服务器在某个(可配置的)端口上进行监听连接;客户端连接该端口,并发送命令给服务器,读取反馈,最后关闭连接。关闭时,不用发送专门的命令去结束会话。客户端可以在不需要该连接的时候就关闭它。虽然客户端缓存与服务器的连接,但不是每次要存储或读取数据的时候都要再次重新建立与服务器的连接。Haisql_memcache可以同时打开很多连接,并且不会对性能造成到大的影响,因为haisql_memcache默认即使打开很多连接(数万或者数十万个连接)也可以高效的运行。缓存连接可以节省与服务器建立TCP连接的时间开销(于此相比,在服务器端为建立一个新的连接所做准备的开销便可以忽略不计)。
如下是常用haisql_memcache命令的状态转换和通信协议的处理流程图:
从上图的haisql_memcaceh状态转换和通信协议的处理流程图可以看出,整体流程的运行需要排除所有的的出错处理。无论是在哪种操作下,一旦发生错误,信息需要通过write状态向服务器的client写入出错的信息,而在string_out时,就一定会转入write状态。
二、产品设计目的
haisql_memcache是高性能的内存服务器
设计目的是:
1,使用户可以通过数据库来查询结果,提高检索的速度;
2,减少了数据库访问的次数,从而降低了延时,提高了性能;
3,以提高动态web应用的速度,提高了可扩展性;
4,采用高性能,分布式的内存对象系统,用于加速动态web应用程序,减轻数据库负载。