精易论坛

标题: Memcached 高性能的分布式内存对象缓存系统通讯模块 [打印本页]

作者: heize    时间: 2017-1-12 13:30
标题: Memcached 高性能的分布式内存对象缓存系统通讯模块
本帖最后由 宇智波·佐助 于 2017-1-13 09:16 编辑

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,
算了,还是写个批处理吧,我知道有些人很懒
打包下载地址:
memcached.rar (252.74 KB, 下载次数: 251) ,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 退出当前连接


预览图




源码下载
Memcached.zip (7.89 KB, 下载次数: 327)

作者: 凌哥    时间: 2017-1-12 13:38
这东西PHP用挺好的,但是我记得好像它重启之后所有数据就都初始化了啊,想不出来易语言能用在什么地方。。。
作者: 镇坛道德标杆    时间: 2017-1-12 13:45
你凌哥i 发表于 2017-1-12 13:38
这东西PHP用挺好的,但是我记得好像它重启之后所有数据就都初始化了啊,想不出来易语言能用在什么地方。。 ...

作为内存数据库    需要用的场景跟语言无关吧    比如当sql数据库是程序的瓶颈的时候   用它做缓存可以很轻松地解决这个瓶颈...   需要持久化可以选择redis
作者: 凌哥    时间: 2017-1-12 14:03
junkboy 发表于 2017-1-12 13:45
作为内存数据库    需要用的场景跟语言无关吧    比如当sql数据库是程序的瓶颈的时候   用它做缓存可以很 ...

我目前用的就是redis,这两个在PHP中的用法是一样的
作者: 爱生活爱大乔    时间: 2017-4-12 08:52
Memcached确实是个好东西,就是最近相关的漏洞也不少,唉,又爱又恨
作者: c1c8i1    时间: 2017-4-21 23:00
研究一下 下载
作者: xueyi08    时间: 2017-5-5 08:54
研究研究……
作者: Xw‘小威    时间: 2017-5-24 21:06
不知道是干嘛的。。评论下做个记号,以后用到再研究研究
作者: 猪八戒在看书    时间: 2017-6-5 19:11
厉害我的哥...佩服.
现在易语言也能搞web了
作者: HSEC    时间: 2017-6-7 23:35
666666666666666666666
作者: InstallTest    时间: 2017-6-9 17:38
退出当前连接
作者: InstallTest    时间: 2017-6-12 08:24
数据的有效期
作者: InstallTest    时间: 2017-6-13 12:46
在的缓存数据前面追加数据
作者: InstallTest    时间: 2017-6-14 09:51
数值递增  
作者: xtavoxing    时间: 2017-6-15 14:18
收费的吗???可以直接用?
作者: xtavoxing    时间: 2017-6-15 14:18
Xw‘小威 发表于 2017-5-24 21:06
不知道是干嘛的。。评论下做个记号,以后用到再研究研究

评论后.在哪里可以查到.自己以前的评论?
作者: xtavoxing    时间: 2017-7-10 10:18
这个是提供模块给我们用吗?  所有功能都是免费的吗?
作者: shawnking    时间: 2017-7-24 18:24
哇,好厉害!!
作者: zhudequan    时间: 2017-8-2 00:38
dd楼主,支持下
作者: 小渣渣哦    时间: 2017-8-16 19:40
这个可以 找了我好久
作者: 执着    时间: 2017-9-6 08:29
这个东西挺好的
作者: 大兔崽子    时间: 2017-9-7 10:47
很不错  正好弄过来和php 一起耍耍看
作者: sixyin    时间: 2017-10-26 14:03
感谢分享,。。。支持。。。
作者: 小理想    时间: 2017-10-28 13:46
mark 以后有用
作者: maikell    时间: 2017-11-9 22:21
感谢分享
作者: JYrenw20170507    时间: 2017-11-19 14:34
更新了?????
作者: xxql233    时间: 2017-11-27 21:05
bucuo,收藏了,
作者: 已注销234264    时间: 2017-12-9 10:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: Amreankerboy    时间: 2017-12-23 10:06
路过看看~~~~~~~~~~
作者: sunmoonstar    时间: 2019-2-9 11:33
路过看看~~~~~~~~~~
作者: 源码搭建    时间: 2019-2-9 11:46
好  这个 不错

作者: 净谭    时间: 2022-6-9 21:36
不错的东西,很好,很牛
作者: quary888    时间: 2022-12-1 11:49
感谢 谢谢楼主分享!!! 好人一生平安!!!
作者: yxl2008    时间: 2022-12-1 15:49
支持开源~!感谢分享!!!
作者: 383586982    时间: 2022-12-4 14:44
5年前的贴子,还是很有用
作者: 地师再现    时间: 2023-1-8 23:11
这个是好东西啊
作者: 654799976    时间: 2023-4-10 15:07
学习一下,感谢分享!
作者: maoxu789    时间: 2023-4-26 16:58
下载下来试试  
作者: maoxu789    时间: 2023-4-26 16:58
感觉 好不错。。。。好吧
作者: maoxu789    时间: 2023-4-26 18:33
学习下。。。。测试
作者: mitu520    时间: 2023-10-27 00:57
谢谢分享
作者: mitu520    时间: 2023-10-27 01:00
信息
作者: mitu520    时间: 2023-10-27 01:00
谢谢分享
作者: 121212121212121    时间: 2023-11-16 03:27
谢谢分享
作者: sunos    时间: 2024-1-28 03:26
感谢分享
作者: godking    时间: 2024-6-20 21:04
好东西,学习一下
作者: godking    时间: 2024-6-20 21:04
当↑
作者: zhou1783    时间: 2024-10-7 00:47
谢谢分享
作者: 叶灵峰    时间: 2025-4-7 04:35
奉上小小红包希望笑纳




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4