易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

Memcached 高性能的分布式内存对象缓存系统通讯模块源码   [复制链接]

    2018-10-24 10:05:42
    数据库类源码
    易语言资源网
    3028 次浏览
    来源链接

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

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 退出当前连接

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:宗旨需要缓存的地方,都能用的上




点我下载 (已有 126 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
Memcached.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇: API枚举环境变量...     下一篇:透明广告标签窗口源码...