MemCache是什么,第1张

Memcache是一种分布式缓存系统,目前许多网站都在使用它来提高网站的访问速度,尤其是对于一些需要频繁访问数据库的大型网站。这是一套开源软件,是在BSD许可证授权下发布的。

Memcache是LiveJournal的Brad Fitzpatrick开发的分布式缓存系统,但是很多网站都使用它来提高网站的访问速度,特别是对于一些需要频繁访问数据库的大型网站。这是一套开源软件,是在BSD许可证授权下发布的。

MemCache是什么,MemCache是什么,第2张

分析

MemCache的工作流程如下:首先检查客户端请求的数据是否在memcached中,如果是,直接返回请求的数据,不对数据库进行任何操作;如果请求的数据不在memcached中,则检查数据库,将从数据库获得的数据返回给客户端,并将数据的副本缓存到memcached中(memcached客户端不负责,需要由程序明确实现);每次更新数据库时更新memcached中的数据,以确保一致性;当分配给memcached 空的内存用完时,将使用LRU(最近最少使用)策略和过期策略,并首先替换过期数据,然后替换最近未使用的数据。

Memcache是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个统一的巨大哈希表,可以用来存储各种格式的数据,包括图像、视频、文件和数据库检索结果。简单来说,就是把数据调入内存,然后从内存中读取,这样就大大提高了读取速度。

Memcache是danga的一个项目,最初由LiveJournal提供服务。它最初是为了加快LiveJournal的访问速度而开发的,后来被许多大型网站采用。

Memcached以守护进程(监听)的方式运行在一个或多个服务器上,可以随时接收客户端的连接和操作。

特点和局限性

只要有足够的内存,可以保存在Memcached中的项目数据量是没有限制的。32位系统中Memcached单进程使用的最大内存是2G,64位系统没有限制。这是因为32位系统限制单个进程最多使用2G内存。为了使用更多的内存,可以在多个端口上打开多个Memcached进程,如果设置为永久,此时最长30天的数据到期时间将到期。常量RETABLE _ MAXDELTA 60 * 60 * 24 * 30控制最大密钥长度为250字节,超过此长度不能存储。常量KEY_MAX_LENGTH 250控制单个项目的最大数据量为1MB,超过1MB的数据不会存储。恒功率_块1048576控制它。这是默认的板尺寸。最大同时连接数为200,由conn_init()中的freetotal控制,最大软连接数为1024。与空相关的参数:设置。因子= 1.25,设置。chunk _ size = 48。

Memcached是一个非阻塞套接字通信服务,它基于libevent库。由于无阻塞通信,它可以非常快速地读写内存。Memcached分为服务器和客户端,可以配置多个服务器和客户端,广泛应用于分布式服务中。Memcached作为一个小规模的数据分布式平台非常有效。

Memcached是键值一一对应的,键值的默认最大值不能超过128字节,值的默认大小是1M,也就是一个SLOBS。如果要存储2M值(连续),不能使用两个slob,因为这两个slob不是连续的,不能存储在内存中,所以需要修改slob的大小。当存储多个键和值时,即使这个SLOBS没有用完,也不会存储其他数据。

Memcached已经可以支持C/C++、Perl、PHP、Python、Ruby、Java、C#、Postgres、Chicken Scheme、Lua、MySQL、Protocol。

界面介绍

Memcache客户端包含两组接口,一组是面向进程的接口,另一组是面向对象的接口。详见PHP手册

Memcache章节“lxxv。memcache函数”。

Memcache常见的面向对象接口包括:

memcache::connect & # 8212;打开到内存缓存的连接

memcache::PC connect & # 8212;打开到Memcache的长连接

memcache::close & # 8212;关闭内存缓存连接

memcache::set & # 8212;将数据保存到Memcache服务器

memcache::get & # 8211;提取保存在内存缓存服务器上的数据

memcache::replace & # 8211;替换Memcache服务器上已经存在的项目(功能类似于Memcache::set)

memcache::delete & # 8212;从Memcache服务器中删除已保存的项目

memcache::flush & # 8212;刷新Memcache服务器上所有保存的项目(类似于删除所有保存的项目)

memcache::GetStats & # 8212;获取当前Memcache服务器的运行状态

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » MemCache是什么

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情