温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-10-12 14:46:22 来源:亿速云 阅读:159 作者:柒染 栏目:编程语言

这期内容当中小编将会给大家带来有关.NET分布式缓存Memcached如何从入门到实战,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

.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、.NET Memcached牛刀小试

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不会导致数据丢失。 

上述就是小编为大家分享的.NET分布式缓存Memcached如何从入门到实战了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI