接触memcache有一段时间,对在项目中使用memcache也有了一定的了解。在访问量和数据量相对高攀的时候使用memcache ,可以在很大程度上降低,web服务器和 数据库服务器的压力。
工作的需要,需要对大访问量下,需要对数据库访问层进行优化,除了必要的进行索引,对数据库结构进行优化,进一步优化sql以外,再就是对页面的静态化。而静态化以后加剧了I/O操作也并不是太理想。 传统的web访问,影响比较大的地方就是这两个地方,一是 数据库连接查询,二是服务器的I/O操作。
而memcache,作为内存缓存来说,还是有这相当大的诱惑力的。 不过用起memcache来,最让人头疼的时,memcache 清理和删除,memcache并没有提供,相应的资源,去了解当前服务器中存在了哪些key。最让人烦的时候,很难把握在什么时候去清除这些key,频繁的去重新启动memcache服务,似乎不是一个明智之举。
在项目中,在实践中摸索,现在大概也有了自己的一套思路和想法。
在想到用memcache的时候,首先应该考虑的是,什么时候用,什么时候清除。那些地方可以缓存,那些地方不用缓存。 那些变更不太频繁的东西,对实时性要求不太高的东西最适合放进缓存中。而那些变更比较频繁,要求数据及时性很高的,不应该放到缓存中,可以从库或者文件中实时的读出。 在memcache的使用中,如何去划分对应的角色还是相当重要,很方便与memcache的管理, 那个简单的发布系统为例:
在整个新闻系统中无疑可以从这个方面入手:
1:新闻详细页面的缓存 我们可以按照新闻id 进行缓存:$key = "NewsDetail_".$id; 这样对于单挑的记录,我们就很容易的 缓存, 缓存的变更对应:当修改新闻内容时,replace当前缓存,当删除新闻时候,delete,当前缓存。
2:新闻分类 以及分页 因为在前面我们已经缓存过 新闻的具体内容, 没有必要我们再重复取出某分类某页数据进行重复缓存。在这里我们把某分类下某页数据,对应的数据的ID进行缓存: (1:)当前分类,当前页的所有新闻ID的缓存 :$key = "NewsList_Sort".$SortID."_Page"._$page; (2:)当前分类总页数缓存 ,$key1 = "NewsList_Sort".$SortID."_$PageCount 这样缓存了 总页数和大概每一页 新闻id,当添加新闻, 删除新闻, 删除分类时候, 只要清除对应的 页数, 并根据总页数循环清除对应的页面的id列表,重新生成缓存就好了。
分享到:
相关推荐
标题"memcache1.2.1 for windows"指的是Memcache的1.2.1版本,这是专为Windows操作系统设计的一个内存缓存系统。Memcache是一个广泛使用的开源高性能分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对...
Memcache 是一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于缓解数据库的负载压力。它通过将数据存储在内存中,以便快速访问,从而提高应用程序的响应速度。在本文中,我们将深入探讨Memcache的...
Memcache是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用,减轻数据库负担。本文将详细介绍如何安装配置Memcache,并提供基本的操作示例。 #### 二、安装与配置 ##### 1. 检查已安装状态 在安装...
Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...
Memcache是一款高性能的分布式内存缓存系统,它最初是为了解决Web应用程序的数据库负载问题而设计的。通过将数据存储在内存中,Memcache能够快速地提供数据,减少对数据库的访问,从而提高应用性能。在Windows平台上...
在Windows环境下安装Memcache是一个相对较为特殊的操作,因为Memcache主要设计用于Unix/Linux系统,但通过一些工具和步骤,我们也可以在Windows上实现这一过程。本文将详细介绍在Windows上安装Memcache的步骤,并...
memcache是广泛应用于Web开发中的一个内存对象缓存系统,它能够提高网站性能,通过将数据存储在内存中,减少对数据库的访问,从而加快数据读取速度。 PHP的memcache扩展允许开发者在PHP应用程序中与memcached服务器...
#### 一、Spring与Memcache简介 - **Spring**:Spring框架是Java平台上的一个开源应用框架,提供了一种简单的方式来管理对象生命周期以及依赖关系,同时也支持AOP(面向切面编程)等功能。Spring框架的核心特性包括...
Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...
Memcache 是一种高性能的内存键值缓存,它可以为应用程序提供高速的数据访问。Memcache 服务可以通过应用程序的多个实例访问该缓存, Memcache 对于那些不需要数据库的永久性功能和事务功能的数据很有用,例如临时...
另外一个windows的memcache.exe文件,都是网上收集的,因为现在要找齐很不容易,所以给上上来!希望可以帮到大家. 具体安装方法看里面的文件,或者百度下也可以! 装错了错误版本的php_memcache.dll,会爆以下错 系统出错...
**Nginx的Memcache模块**是Web服务器Nginx的一个扩展,用于缓存动态内容,提高网站性能。Memcache是一种高性能的分布式内存对象缓存系统,它可以在内存中存储各种格式的数据,如字符串、整型、二进制对象等,以减少...
Memcache,全称Memcached,是一种高性能的分布式内存对象缓存系统,主要用于减轻数据库的负载。它将数据存储在内存中,以键值对的形式提供快速访问,尤其适用于高并发场景。Memcache最初由danga.com开发,用于...
Memcache是一种高性能的分布式内存对象缓存系统,主要用于加速动态Web应用程序并减轻数据库负担。该系统维护了一个巨大的hash表,存在于内存中,用于存储各类格式的数据,如图像、视频、文件、数据库检索结果等。...
// 创建一个Memcache实例 $memcache = new Memcache; // 连接到Memcached服务器 $memcache->connect('localhost', 11211) or die("无法连接"); // 存储数据 $memcache->set('key', 'value', 0, 60); // key是键,...
Memcache是一种高性能的分布式内存对象缓存系统,它能够减轻数据库负载,加快动态网页的响应速度。以下将详细介绍如何在Windows 7环境下安装和使用Memcache。 首先,你需要确保你的计算机上已经安装了PHP环境。这里...
memcache图形监控工具phpmemcache,尽是一个PHP文件就可以实现对memcache的监控。 使用方法:本地测试监控机安装Apache或者下载XAMPP(Apache+MySQL+PHP+PERL),安装后把memcachephp.zip中的memcache.php文件放到...
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问。
在IT领域,Memcache是一个广泛使用的高性能、分布式内存对象缓存系统,主要用于减少数据库负载,提升Web应用的性能。"memcache 万能"可能指的是经过优化或修改的版本,使得它能在各种环境下稳定运行,包括但不限于...