什么是Memcache?能做什么?

以下是百度的观点:

memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著[1]  。这是一套开放源代码软件,以BSD license授权发布。

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像视频文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端连接和操作。

Memcache客户端包含两组接口,一组是面向过程的接口,一组是面向对象的接口。

使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。

说了这么多,主要的普遍用处也就是以下两点:

  • [分布式应用]
  • [减少数据库压力]

对于刚刚接触到这块的新手来说,还是很让人摸不到头脑的,另一方面,Memcache的配置还是有很多的,在这里把代码贴出来,希望 能够对大家有所帮助。

首先下载Mencache客户端, Memcache.exe

<a href="http://download.csdn.net/download/fengjunkuan2006/4801674">下载地址</a> 不要放在中文目录下

我们发现Memcache.exe 自由几十kb左右,可能新版本会大一点,不过也很正常了,说白了就是一个windows服务,那怎么用这个呢?

打开管理员cmd, cd到你的下载文件的目录

接下来 就是安装了,找到memcache.exe

memcache.exe -d install

这个命令就是安装Memcache服务的,回车后打开任务管理器 -> 服务 ,如果成功的话就会有MemCached Server这个服务了, 进行到这里,那么恭喜Mencache服务安装成功了,接下来就是进行数据的set和get了


其实Memcache是通过Socket来进行数据的传递的,我们需要打开一个Telnet的程序

控制面板 -> 程序 -> 启用或关闭Windows功能 -> Telnet客户端  这个打上勾就行了,然后在控制台输入

telnet 127.0.0.1 11211  默认的端口就是11211

然后回车

提示一下,第一次这个黑框是看不见字的,随便噼里啪啦的敲下后,回车,然后在输入就可以看到字了,不知道是不是一个Bug,然后stats命令是查看状态的,接下来就是如何存值和取值了

set uesr 0 0 5

faker

这样就把faker存在了内存中, 你存在~~~我深深的硬盘中~~~,然而并没有存在硬盘中,而是存在了内存中。

get user

就能把faker找出来了,这里需要注意的是中间的空格,只能有一个,如果有多个的话会报error,到此 ,Memcache的入门就是这些了,如果有哪些地方写的不对了,还请大家多多指教!

C# Memcache分布式缓存简单入门的更多相关文章

  1. memcache 分布式缓存

    转载地址:http://www.cnblogs.com/phpstudy2015-6/p/6713164.html 作者:那一叶随风 1.memcached分布式简介 memcached虽然称为“分布 ...

  2. MemCache分布式缓存的一个bug

    Memcached分布式缓存策略不是由服务器端至支持的,多台服务器之间并不知道彼此的存在.分布式的实现是由客户端代码(Memcached.ClientLibrary)通过缓存key-server映射来 ...

  3. Memcached分布式缓存快速入门

    一.从单机到分布式 走向分布式第一步就是解决:多台机器共享登录信息的问题. •例如:现在有三台机器组成了一个Web的应用集群,其中一台机器用户登录,然后其他另外两台机器共享登录状态? •解决1:Asp ...

  4. Memcached 分布式缓存系统部署与调试

    Memcache 分布式缓存系统部署与调试 工作机制:通过在内存中开辟一块区域来维持一个大的hash表来加快页面访问速度,和数据库是独立的;目前主要用来缓存数据库的数据;存放在内存的数据通过LRU算法 ...

  5. Memcache分布式锁 转发 https://www.cnblogs.com/li150dan/p/9529090.html

    在分布式缓存的应用中,会遇到多个客户端同时争用的问题.这个时候,需要用到分布式锁,得到锁的客户端才有操作权限 下面通过一个简单例子介绍: 这里引用的是Memcached.ClientLibrary.d ...

  6. Memcache分布式锁

    在分布式缓存的应用中,会遇到多个客户端同时争用的问题.这个时候,需要用到分布式锁,得到锁的客户端才有操作权限 下面通过一个简单例子介绍: 这里引用的是Memcached.ClientLibrary.d ...

  7. 分布式缓存之 memcache 实现分布式缓存

    最近想搞点分布式,但是不知道整点什么,来点简单的吧. 今天讲下memcache的分布式缓存 首先下载memcache的服务器端 百度下可以找到 然后执行安装和开启(关闭服务器)命令(还有其他的命令 可 ...

  8. MemCache分布式内存对象缓存系统

    MemCache超详细解读 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而 ...

  9. CYQ.Data 对于分布式缓存Redis、MemCache高可用的改进及性能测试

    背景: 随着.NET Core 在 Linux 下的热动,相信动不动就要分布式或集群的应用的需求,会慢慢火起来. 所以这段时间一直在研究和思考分布式集群的问题,同时也在思考把几个框架的思维相对提升到这 ...

随机推荐

  1. js 假值

    function demo(a){ if(a){ console.log(111); }else{ console.log(222); } } demo(0) html_dom.html:27 222 ...

  2. 一次部署HTTPS的相关事件引发的思考

    前言: 上周五快要下班的时候,突然收到通知客户希望了解一下部署HTTPS的流程,这种事情谁听了都会有几分诧异的.因为这件事虽然和工作有一定的相关度,但平时不会走这个方向,实际上也较少接触.此外,客户手 ...

  3. statusbarhidden stuff 状态栏的各种特性

    plist 文件中的View controller-based status bar appearance 设置的是 在viewcontroller 中 对状态栏进行修改是否起作用. 设置状态栏隐藏和 ...

  4. IOS客户端实现RSA加密

    在IOS的app登陆模块,用户名和密码如果直接传给后台服务器,很容易被截获并伪造网络请求, 如果利用RSA算法在每个客户端利用公钥解密,服务器端进行私钥解密,即使截获了密码也是无法解密的 在这里只介绍 ...

  5. spring.net (3)依赖注入基础2

    如何调用其他对象的成员 接上文例子: 现在Person有一个属性 name  静态属性 eye 域 gender public class Person { public string name { ...

  6. UITableView或UIScrollVIew上的UIButton的高亮效果

    UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScro ...

  7. IOS开发基础知识--碎片40

    1:Masonry快速查看报错小技巧 self.statusLabel = [UILabel new]; [self.contentView addSubview:self.statusLabel]; ...

  8. 解决方法:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    在Windows Server 2008 x64 上部署一个Vs 2008开发的.net2.0 的asp.net web 程序,调用了office的组件来导入导出excel文件,其中托管管道模式为集成 ...

  9. Sql--order by、desc降序、top

    ---------通过order by 语句进行排序: --1.降序order by 列名desc --2.升序order by 列名   或order by 列名asc --3.order by语句 ...

  10. MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)

    回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...