Memcached 高性能的分布式内存对象缓存系统通讯模块源码

Memcached 是用来干啥的?有啥用?

看官莫急,且听我慢慢道来,先引用一段介绍

Memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。

这时就该Memcached大显身手了。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户Duan可以用任何语言来编写,并通过memcached协yi与守护进程通信。

可能还是看的有点迷糊,我用通俗的语言介绍一下

1:暂时先把他理解为一个HashTable(哈希表),不知道是啥的,可以关了这个帖子了(论坛一大堆,包括我以前也开过源)

2:再尝试把它理解为一个跨进程的HashTable,注意是跨进程,也就是本机的任何进程都可以增、删、改、查

3:然后再把它理解为一个网络版的HashTable,只要能与它网络相通的计算机(包括linux),都可以操作它

4:总结一下,它是一个“高性能、分布式、跨进程、跨网络、跨语言”的HashTable,其实跨这么多,也没什神奇的,只是socket通讯而已,滑稽

5:还有一个重要的特性,可以设置“数据的有效期”,比如一个数据1小时内有效,在添加的时候 add(key,value,3600)即可

6:可以方便的跟其他语言共享数据,比如 PHP、C、C++、C#等等,注意编码即可

能应用在什么地方?

1:数据库缓存,比如一段数据变化不是特别勤,那么可以定时缓存一下

2:不同进程、不同语言,共享数据,利用它的特性,可以很简单的实现

3:高性能查找数据,有多高我不知道,但从全球安装量来说,这应该不是盖的(“不是盖的”算方言?)

4:宗旨需要缓存的地方,都能用的上

安装Memcached服务步骤如下,要有耐心看完(我整理、编写源码、写帖子也很累的)

1:下载Memcached,地址在:

2:解压放到D:\Memcached\ (不是这个路径也可以,下面的命令自行替换)

3:打开CMD,

算了,还是写个批处理吧,我知道有些人很懒

打包下载地址:   ,64位有更高的版本

解压出来,点击 “启动服务.bat" 就可以使用了

接下来就是易语言的模块了

基本上全面封装好了,封装的命令如下

1:connect 连接服务器

2:add 新增缓存

3:set 新增缓存(如果key已经存在,则覆盖)

4:replace 替换指定key缓存

5:append 在已存在的缓存数据后面追加数据

6:prepend 在已存在的缓存数据前面追加数据

7:incr 数值递增

8:decr 数值递增

9:get 读取数据

10:delete 删除数据

11:flush_all 删除全部数据

12:quit 退出当前连接

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注