Memcached,memcached安装
Memcached,memcached安装
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
存储方式:
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
使用技巧:
许多语言都实现了连接memcached的客户端,其中以Perl、PHP为主。
一、这里介绍windows环境的安装。
1、下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2、在cmd下输入 'c:\memcached\memcached.exe -d install' 安装
3、再输入: 'c:\memcached\memcached.exe -d start' 启动。
以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4、很简单。不过还没完,你只是安装了一个memcached caching server,还没有和php建立关联。所以在php程序里还不能运用。
由于我的php版本是5.2.17的,下载的php_memcache.dll也要是对应的。如果你的php是5.3+的,可以在这里下载
php_memcache-cvs-20090703-5.3-nts-VC6-x86.zip
安装与平时添加扩展完全一样,把dll文件拷到你的php目录的ext目录下,然后,
在php.ini中添加extension=php_memcache.dll,重启服务器,在phpinfo里面就应该可以看到配置信息。
二、CentOS 下的安装
安装 yum -y install memcached
设置为开机启动 chkconfig --level 2345 memcached on
启动和停止 /etc/init.d/memcached start|stop
补充:如果安装缺少其他支持,可以:
yum groupinstall "Development Tools"
常用操作
Memcache::add 添加一个值,如果已经存在,则返回false
Memcache::addServer 添加一个可供使用的服务器地址
Memcache::close 关闭一个Memcache对象
Memcache::connect 创建一个Memcache对象
Memcache::debug 控制调试功能
Memcache::decrement 对保存的某个key中的值进行减法操作
Memcache::delete 删除一个key值
Memcache::flush 清除所有缓存的数据
Memcache::get 获取一个key值
Memcache::getExtendedStats 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus 获取运行服务器的参数
Memcache::getStats 返回服务器的一些运行统计信息
Memcache::getVersion 返回运行的Memcache的版本信息
Memcache::increment 对保存的某个key中的值进行加法操作
Memcache::pconnect 创建一个Memcache的持久连接对象
Memcache::replace R对一个已有的key进行覆写操作
Memcache::set 添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold 对大于某一大小的数据进行压缩
Memcache::setServerParams 在运行时修改服务器的参数
<?<span>php </span><span>//</span><span>连接Memcache </span> <span>$mem</span> = <span>new</span><span> Memcache; </span><span>$mem</span>->connect("localhost", 11211<span>); </span><span>//</span><span>保存数据 </span> <span>$mem</span>->set('key1', 'This is first value', 0, 60<span>); </span><span>$val</span> = <span>$mem</span>->get('key1'<span>); </span><span>echo</span> "Get key1 value: " . <span>$val</span> ."<br>"<span>; </span><span>//</span><span>替换数据 </span> <span>$mem</span>->replace('key1', 'This is replace value', 0, 60<span>); </span><span>$val</span> = <span>$mem</span>->get('key1'<span>); </span><span>echo</span> "Get key1 value: " . <span>$val</span> . "<br>"<span>; </span><span>//</span><span>保存数组数据 </span> <span>$arr</span> = <span>array</span>('aaa', 'bbb', 'ccc', 'ddd'<span>); </span><span>$mem</span>->set('key2', <span>$arr</span>, 0, 60<span>); </span><span>$val2</span> = <span>$mem</span>->get('key2'<span>); </span><span>echo</span> "Get key2 value: "<span>; </span><span>print_r</span>(<span>$val2</span><span>); </span><span>echo</span> "<br>"<span>; </span><span>//</span><span>删除数据 </span> <span>$mem</span>->delete('key1'<span>); </span><span>$val</span> = <span>$mem</span>->get('key1'<span>); </span><span>echo</span> "Get key1 value: " . <span>$val</span> . "<br>"<span>; </span><span>//</span><span>清除所有数据 </span> <span>$mem</span>-><span>flush</span><span>(); </span><span>$val2</span> = <span>$mem</span>->get('key2'<span>); </span><span>echo</span> "Get key2 value: "<span>; </span><span>print_r</span>(<span>$val2</span><span>); </span><span>echo</span> "<br>"<span>; </span><span>//</span><span>关闭连接 </span> <span>$mem</span>-><span>close(); </span>?>
memcached 的工作原理:
首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。
PHP 等客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。
memcachedb:
MemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。协议跟memcache一致(不完整),所以很多memcached客户端都可以跟它连接。MemcacheDB采用Berkeley DB作为持久存储组件,故很多Berkeley DB的特性的他都支持。
我们是站在巨人的肩膀上的。MemcacheDB的前端缓存是Memcached
前端:memcached的网络层
后端:BerkeleyDB存储
memcached和smarty的关系及区别是什么啊?
Memcache是一个高性能的分布式的内存对象缓存系统,把缓存记录到内存的系统.。
例如,从数据库中获取列表显示,但并不想每次都读取数据库,这样就需要用到缓存,而memcache就是其中的一种,它是把记录保存在内存中使用
例如要重db获取数据显示出来, db -> memcache -> client
首先先判断memcache有没有数据,如果没有则读取DB,然后把db获取到的记录保存在memcache
下次再需要读取记录时,就可以直接在memcache中读取,这样就可以分担数据库的负担,而且速度快很多。
Smarty是一个使用PHP写出来的模板引擎,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计。
smarty是运行在MVC结构的view中。
例如 php 我们要显示一个变量,需要这样写 echo $a;
而用smarty则需要这样写 {$a} ,经过编译后,会自动显示出 echo $a;,是一样的,smarty中的缓存,php要运行后,才可以输出到浏览器,php运行生成html输出是需要运算的,而smarty则会把之前运行过的php生成后的html保存起来,如果再调用这个php则会直接输出之前的html.起到缓存作用。
memcache 和 smarty没有关系,两者作用是不一样的,没有联系的。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Memcached是一种常用的缓存技术,它可以使Web应用程序的性能得到很大的提升。在PHP中,常用的Session处理方式是将Session文件存放在服务器的硬盘上。但是,这种方式并不是最优的,因为服务器的硬盘会成为性能瓶颈之一。而使用Memcached缓存技术可以对PHP中的Session处理进行优化,提高Web应用程序的性能。PHP中的Session处

PHP8.0中的缓存库:Memcached随着互联网的快速发展,现代应用程序需要高效可靠的缓存技术来提高性能和处理大量数据。由于PHP的流行和开源特性,PHP缓存库已经成为了Web开发社区的一个必备工具。Memcached是一种广泛使用的开源高速内存缓存系统,它能处理数百万个同时连接的缓存请求,可以用于许多不同类型的应用程序,例如社交网络、在线

随着互联网的发展,PHP应用程序在互联网应用领域中变得越来越常见。但是,PHP应用程序的高并发访问会导致服务器的CPU使用率高,从而影响应用程序的性能。为了优化PHP应用程序的性能,Memcached缓存技术成为了一种很好的选择。本文将介绍如何使用Memcached缓存技术优化PHP应用程序CPU的使用率。Memcached缓存技术简介Memcached是一

随着互联网的快速发展,大规模MySQL数据库备份和恢复成为各大企业和网站必备的技能之一。而随着Memcached的广泛应用,如何备份和恢复Memcached也成为了一个重要的问题。PHP作为Web开发的主力语言之一,在处理备份和恢复MySQL和Memcached上拥有独特的优势和技巧。本文将详细介绍PHP处理MySQL和Memcached备份与恢复的实现方法

随着网络应用的不断增加和数据量的不断膨胀,数据的读写效率成为影响应用性能的重要因素之一。而缓存技术的应用则可以很好地解决这个问题。在PHP应用中,Memcached是最常用的缓存服务器。Memcached是一个高性能的分布式内存对象缓存系统,可以将常用的数据存储在内存中,提高数据检索的效率。本文将介绍如何使用PHP和Memcached进行缓存管理,以及如何优

随着互联网技术的不断发展,音视频资源已经成为了互联网上非常重要的一种内容形式,而PHP作为网络开发中使用最广泛的语言之一,也在不断地应用于视频和音频播放领域。然而,随着音视频网站的用户日益增加,许多网站已经发现了一个问题:在高并发的情况下,PHP对于音视频的处理速度明显变缓,会导致无法及时播放或者播放卡顿等问题。为了解决这个问题,Memcached缓存技术应

随着现代互联网应用的快速发展,用户体验对于一个应用的成功至关重要。如何保证应用的高性能和高可用性,成为了开发人员需要解决的重要问题之一。PHP作为一种广泛应用的编程语言之一,它的性能监控和优化也是非常重要的。Memcached是一个高性能、分布式的内存对象缓存系统,可以帮助应用提高性能和扩展性。本文将介绍如何使用PHP和Memcached实现性能监控的方法。

随着互联网应用的快速发展,数据存储和处理变得越来越庞大和复杂。在这样的背景下,Memcached作为一款高性能、轻量级的分布式内存缓存系统,逐渐成为互联网应用领域中不可或缺的一部分。在PHP语言中,Memcached可以通过扩展内置的Memcached类实现与Memcached服务器的交互,而在实际生产环境中,我们需要通过搭建Memcached数据库集群来保
