`
longzhun
  • 浏览: 360318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MemCache简单实用方法

 
阅读更多

Memcached是什么?

 

Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

 

Memcached能缓存什么?

 

通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

 

Memcached快么?

 

非常快。Memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表,因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。 Danga Interactive为提升Danga Interactive的速度研发了Memcached。目前,LiveJournal.com每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由web服务器和数据库服务器组成的集群完成的。Memcached几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及Memcache失效时对数据库的访问速度。

 

 Memcached的特点

 

Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。

 

MemCache的目录如下,其实代码调用非常简单,主要会用到的方法有 add()、get()、replace() 和 delete(),方法说明如下:

 

 

Memcache::add -- Add an item to the server add ($key, $val, $exp = 0) 往 memcached 中写入对象,$key 是对象的唯一标识符,$val 是写入的对象数据,$exp 为过期时间,单位为秒,默认为不限时间;

Memcache::delete -- Delete item from the server delete ($key, $time = 0) 删除 memcached 中标识符为 $key 的对象,$time 为可选参数,表示删除之前需要等待多长时间。

Memcache::get -- Retrieve item from the server get ($key) 从 memcached 中获取对象数据,通过对象的唯一标识符 $key 获取;

Memcache::replace -- Replace value of the existing item replace ($key, $value, $exp=0) 使用 $value 替换 memcached 中标识符为 $key 的对象内容,参数与 add() 方法一样,只有 $key 对象存在的情况下才会起作用;

 

bool Memcache::set ( string key, mixed var [, int flag [, int expire]] ) -- 保存数据到Memcache服务器上

string key:惟一关键字              关键字用于从缓存中检索相关数据。如果每条记录都有一个惟一 ID,则可能足以作为缓存关键字,但是您可以策划其他模式来满足需求。

mixed var :要缓存的变量
变量可以是任意类型,只要它可以被序列化为持久的变量并且可以取消序列化为检索的变量。
int flag :用于启用通过 zlib 进行动态压缩的布尔值
使用 MEMCACHE_COMPRESSED 来压缩信息到内存中 —— 虽然处理数据时都要以保存和恢复为代价。

int expire:以秒为单位指定的过期时间

当缓存的数据过期时,它将被自动删除。如果将此值设为 0,则该条目永远不会在缓存中过期。使用 Memcache API delete() 函数删除这样一个永久对象。

Memcache::connect -- 打开一个到Memcache的连接 Memcache::pconnect -- 打开一个到Memcache的长连接 Memcache::close -- 关闭一个Memcache的连接 Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目) Memcache::getStats -- 获取当前Memcache服务器运行的状态

另外为了看到所有slabs组的统计数据以及统计情况:通过telnet 127.0.0.1 11211 可以连上memcached, 键入命令 stats slabs 可以看到所有slabs组的统计数据以及统计情况了

分享到:
评论

相关推荐

    memorised:用于 Python 的 memcache memoization 装饰器和实用程序

    特别是memorise装饰器允许您快速简单地将 memcache 缓存添加到任何函数或方法。 安装 使用 pip 安装memorised : pip install memorised 或者使用提供的setup.py : python setup.py install 用法 要缓存一个简单...

    canphp2.0betaphp框架

    CanPHP框架(简称CP),是一个简单、自由、实用、高效的php框架。CanPHP框架以面向应用为主,不纠结于OOP,不纠结于MVC,不纠结于设计模式,不拘一格,力求简单快速优质的完成项目开发,是中小型项目开发首选php框架。...

    CanPHP框架(简称CP)2.0

    CanPHP框架是一个简洁,实用,高效,遵循apache协议的php开源框架,以“简单、自由、包容”为理念,主要是为了简化和快速开发小型项目和开源系统二次开发而诞生。它既可以完美的支持MVC模式,又可以不受限制的支持...

    php 超好用的文件缓存类

    非常简单。实用. 很像memcache的 get ,set ,delete。 基于文件的缓存类。

    CanPHP框架(CP) 2.0.rar

    CanPHP框架(简称CP),是一个简单、自由、实用、高效的php框架。CanPHP框架以面向应用为主,不纠结于OOP,不纠结于MVC,不纠结于设计模式,不拘一格,力求简单快速优质的完成项目开发,是中小型项目开发首选php框架。...

    kyphp框架 v1.2.0 UTF8.rar

    科亿PHP框架的理念是完全控件化的PHP真正意义上的面向对向,方便实用,达到最简单化的运用PHP高效完成你的project. KYPHP v1.2.0版更新功能如下: 1.增加了缓存类$this->set(key,value,time);$this->get(key);$...

    kyphp框架 v1.2.0 UTF8

    科亿PHP框架的理念是完全控件化的PHP真正意义上的面向对向,方便实用,达到最简单化的运用PHP高效完成你的project. KYPHP v1.2.0版更新功能如下:1.增加了缓存类$this->set(key,value,time);$this->get(key);$this->...

    好文本网站内容管理系统(GCMS) v1.0.rar

    01轻量级网站内容管理系统 GCMS系统结构简单体积小,没有冗长代码,简洁精干,后台没有过多华丽的视觉效果,只注重实用性。 02运行速度快 GCMS系统应用多种缓存技术运行速度快,避免重复读取数据库,在普通虚拟**上...

    spring-boot-examples:关于通过示例学习Spring Boot。 Spring Boot教程,技术栈示例代码,快速简单上手教程

    Spring Boot学习范例 Spring Boot使用的各种示例,以最简单,最实用为标准,此开源项目中的每个示例都以最小依赖,最简单为标准,帮助初学者快速掌握Spring Boot各个组件的使用。 | | | ||推荐程序员都关注的一个...

    常见php数据文件缓存类汇总

    主要介绍了常见php数据文件缓存类,实例讲述了php文件缓存与利用memcache来缓存数据的方法,代码封装性好,使用简单,是非常实用的技巧,需要的朋友可以参考下

    MallBuilder多用户网上商城 3.0.zip

    使操作更加简单,功能更加完善,性能更加稳定的多用户商城建设系统。 MallBuilder为拓展企业销售渠道,突显电子商务商业价值,致力于推动电子商务技术的发展而不断努力。365天精心研发,真情回馈客户! ...

    飞飞影视系统PHP版2.7.130201

    2:安装使用简单(一健安装/一键采集/一键备份/一键切换动静态模式/操作简便/灵活实用) 3:网站运营全面(支持免费点播/收费点播/QQ用户可直接登录/集成支付宝接口/智能图片服务器分离) 4:影片资源丰富(多播放器/多...

    好文本网站内容管理系统(GCMS) 1.0

    01轻量级网站内容管理系统 GCMS系统结构简单体积小,没有冗长代码,简洁精干,后台没有过多华丽的视觉效果,只注重实用性。 02运行速度快 GCMS系统应用多种缓存技术运行速度快,避免重复读取数据库,在普通虚拟主机...

    KYPHP框架 3.0

    科亿PHP框架的理念是完全控件化的PHP真正意义上的面向对向,方便实用,达到最简单化的运用PHP高效完成你的project。 框架功能: 1.支持MVC结构 2.对MVC重要的文件夹可自由改名 3.支持模板标签、control的...

    ThinkPHP 3.1.2 - PHP的开发框架MVC - 含Core,Extend,Example

    ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性 能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在 社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,众多 ...

    飞飞影视导航系统 v4.1.190209.zip

    2:安装使用简单(一健安装/一键采集/一键备份/一键切换动静态模式/操作简便/灵活实用) 3:影片资源丰富(多播放器/多浏览器支持/百万集片库/24小时不间断更新/一键采集/自定义采集) 4:多终端跨平台(windows、Linux...

    ThinkPHP v6.0.7

    改进redis驱动的append方法 修正路由匹配检测问题 优化路由变量正则规则生成 改进responseView的内容渲染 安装和更新 V6版本开始仅支持Composer安装及更新,支持上个版本的无缝更新,直接使用composer update ...

    (全)传智播客PHP就业班视频完整课程

    非常实用 持之以恒才是王道! 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3.符号实体 url说明 超链接 发送电邮 8-11 4.图像 表格 实际应用-菜谱 课堂练习-课程表 8...

    飞飞影视导航系统-PHP

    安装使用简单(一健安装/一键采集/一键备份/一键切换动静态模式/操作简便/灵活实用) 影片资源丰富(多播放器/多浏览器支持/百万集片库/24小时不间断更新/一键采集/自定义采集) 多终端跨平台(windows、Linux均可安装/PC...

    B2Bbuilder(B2B电子商务网站) 7.0.1.zip

    不懂程序的人也可以轻松管理整个网站,让网站管理极简单化,可以设定不同的管理员组,细化到每项功能及分城市管理功能,以及详尽的管理员操作日志,记录管理员何时何地操作了什么 一键登录 支持QQ、新浪微博、帐号...

Global site tag (gtag.js) - Google Analytics