.NET分布式缓存Memcached如何从入门到实战(memcached,编程语言)

时间:2024-05-01 20:22:35 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

.NET分布式缓存Memcached如何从入门到实战

Memcached读取操作

二、概念名称含义解释

2.1、什么是Memcached?

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

有的童鞋在学完阿笨的《.NET分布式缓存Redis从入门到实战》课程的时候提问怎么理解分布式。那么何为分布式?简单的从字母上意思理解就是说它不是本地的。

2.2、Memcached的优势和不足

优势:

速度快,操作简便,易扩展

不足:

1)、数据的临时性(数据仅保存在内存中)。

2)、只能通过指定键来读取数据,不支持模糊查询。

需要注意的是,memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失,所以memcached不能用来持久保存数据。

三、Memcached安装和配置手册

3.1、Memcached在Windows系统安装手册

一般情况下,我们用linux作为生产环境,但是开发还是在windows下面,所以我们需要 windows版本。但是memcache官方网站只提供了源码,因此必须使用第三方编译的Windows版本。

1)、Windows下Memcache安装步骤:

1、下载memcache for windows。下载地址:http://downloads.northscale.com/memcached-win64-1.4.4-14.zip,解压到d:\memcached。

2、在命令行状态下输入: d:\memcached\memcached.exe -d install 。至此memcached已经安装成windows服务。

3、在命令行下输入: d:\memcached\memcached.exe -d start 以启动memcached服务。当然也可以选择在windows服务中启动。

就是这么简单,简简单单的三步memcache的服务器端就准备完毕。

2)、设置memcachedd的默认端口和最大内存。memcached服务默认占用的端口是11211,占用的最大内存默认是64M。
如果需要修改这两个参数,比如修改端口为10000,内存为512,
则输入: D:\memcached\memcached.exe -p 10000 -m 512 -d start , -p 表示要修改的端口, -m表示 占用的最大内存(单位为M)

3.2、Memcached配置说明手册

telnet 127.0.0.1 11211 键入stats可以查看当前Memcached的版本以及配置信息

memcached的基本设置:

-p监听的端口

-l连接的IP地址, 默认是本机

-d start 启动memcached服务

-d restart 重起memcached服务

-d stop|shutdown 关闭正在运行的memcached服务

-d install 安装memcached服务

-d uninstall 卸载memcached服务

-u以的身份运行 (仅在以root运行的时候有效)

-m最大内存使用,单位MB。默认64MB

-M 内存耗尽时返回错误,而不是删除项

-c最大同时连接数,默认是1024

-f块大小增长因子,默认是1.25

-n最小分配空间,key+value+flags默认是48

-h 显示帮助

3.3、Memcached可视化客户端GUD管理及监控工具安装手册

TreeNMS是一款 Redis,Memcache可视化客户端工具,采用JAVA开发,实现基于WEB方式对Redis, Memcached数据库进行管理、维护。

.NET分布式缓存Memcached如何从入门到实战

TreeNMS

四、.NET Memcached实战演练分享

4.1、.NETMemcached牛刀小试

1)、NET SDK之Enyim.Caching修炼手册,看这一篇就足够了。

.NET分布式缓存Memcached如何从入门到实战

Enyim.Caching修炼手册

2)、NET SDK之MemcachedClientLibrary修炼手册,看这一篇就足够了。(强烈推荐使用)

.NET分布式缓存Memcached如何从入门到实战

MemcachedClientLibrary修炼手册

3)、NET SDK之ServiceStack修炼手册,看这一篇就足够了。

.NET分布式缓存Memcached如何从入门到实战

ServiceStack修炼手册


4.2、在ASP.NET中Memcached如何进行Session托管

MemcachedSessionProvider
https://github.com/rohita/MemcachedSessionProvider
实际项目中强烈建议使用Redis作为存储!

五、课后思考与总结

5.1、思考
1)、什么时候选择使用Memached和Redis?
简单的Key/Value应用场景(例如缓存),Memcached拥有更高的读写性能;而在数据持久化和数据同步场景,Redis拥有更加强大的功能和更为丰富的数据类型。

2)、Memached的持久化和高可用变种产品
memcachedb是新浪网基于Memcached开发的一个开源项目,使Memcached具备了事务恢复能力、持久化能力。
repcached是日本人开发的基于Memcached的一个patch,实现Memcached的复制功能,它支持多个Memcached之间相互复制,可以解决 容灾问题。
memcacheQ在Memcached的基础上实现了消息队列。

5.2、总结:
由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。 另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。NoSQL中比较优秀的一款产品:Redis,比较好地解决了数据持久化的这个问题,重启Redis不会导致数据丢失。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:.NET分布式缓存Memcached如何从入门到实战的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JavaScript的事件流是什么下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18