这期内容当中小编将会给大家带来有关.NET分布式缓存Memcached如何从入门到实战,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联-专业网站定制、快速模板网站建设、高性价比平武网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平武网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平武地区。费用合理售后完善,十载实体公司更值得信赖。
Memcached读取操作
2.1、什么是Memcached?
Memcached是一个自由开源的,高性能,分布式于内存的key-value存储内存对象缓存系统。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
有的童鞋在学完阿笨的《.NET分布式缓存redis从入门到实战》课程的时候提问怎么理解分布式。那么何为分布式?简单的从字母上意思理解就是说它不是本地的。
2.2、Memcached的优势和不足
优势:
速度快,操作简便,易扩展
不足:
1)、数据的临时性(数据仅保存在内存中)。
2)、只能通过指定键来读取数据,不支持模糊查询。
需要注意的是,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数据库进行管理、维护。
TreeNMS
4.1、.NET Memcached牛刀小试
1)、NET SDK之Enyim.Caching修炼手册,看这一篇就足够了。
Enyim.Caching修炼手册
2)、NET SDK之MemcachedClientLibrary修炼手册,看这一篇就足够了。(强烈推荐使用)
MemcachedClientLibrary修炼手册
3)、NET SDK之ServiceStack修炼手册,看这一篇就足够了。
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如何从入门到实战了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。