所在的位置: php >> php优势 >> memcached的简介与使用

memcached的简介与使用

北京中科医院骗人 http://m.39.net/pf/a_5131651.html

memcached

memcached是一个高性能的分布式的内存对象缓存系统,通过键值得方式存储数据。它将关键数据存储在内存中,大大减少存取数据的时间,减少了系统访问数据库的压力。

memcached存储实际上就是在内存中维护一张巨大的hash表,里面可以存放多种数据,如字符串,对象,数组。

一:memcached使用场所

了解到memcached的概念之后,可能会感觉,既然memcached把可以减少访问数据时间,减少数据库压力,那要是想提高效率时就可以用了。而实际上,memcached不是在什么场合都能用的。

memcached是“分布式”的内存对象缓存系统,那么就是说,那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源。

memcached在很多时候都是作为数据库前端cache使用的。因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能,在大型系统中,访问同样的数据是很频繁的,memcached可以大大降低数据库压力,使系统执行效率提升。另外,memcached也经常作为服务器之间数据共享的存储媒介.

但是,使用memcached时还需要注意的是,memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失。另外,内存容量达到指定值之后,就会自动删除不使用的缓存。所以memcached不能用来持久保存数据。

二:memcached使用

使用memcached一般用telent或者一些一些其他语言,例如PHP,C等。memcached默认的端口是。

1:使用telnet操作memcached

(1):telnet添加数据到memcached:

addkey值0时间(秒)长度(存放多长时间由你指定,键名不能重复,但是值可以重复)例:addname不可以在addname

(2):获取数据

getkey值

(3):修改数据

replacekey值

setkey值(如果key值不存在,相当于添加,如果存在,则相当于修改.)

(4):删除数据

delete键值

2:PHP中使用memcached

1:Memcache方法

PHP中Memcache方法有很多,如下:

Memcache::add—增加一个条目到缓存服务器

Memcache::addServer—向连接池中添加一个memcache服务器

Memcache::close—关闭memcache连接

Memcache::connect—打开一个memcached服务端连接

Memcache::decrement—减小元素的值

Memcache::delete—从服务端删除一个元素

Memcache::flush—清洗(删除)已经存储的所有的元素

Memcache::get—从服务端检回一个元素

Memcache::getExtendedStats—缓存服务器池中所有服务器统计信息

Memcache::getServerStatus—用于获取一个服务器的在线/离线状态

Memcache::getStats—获取服务器统计信息

Memcache::getVersion—返回服务器版本信息

Memcache::increment—增加一个元素的值

Memcache::pconnect—打开一个到服务器的持久化连接

Memcache::replace—替换已经存在的元素的值

Memcache::set—Storedataattheserver

Memcache::setCompressThreshold—开启大值自动压缩

Memcache::setServerParams—运行时修改服务器参数和状态

例如:

运行结果:

当然在上面的例子中也可以把key1和key2存在不同的端口中,这样就需要加下面的代码:




转载请注明:http://www.aierlanlan.com/grrz/2929.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了