码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2016-05-12 01:32:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

最近想搞点分布式,但是不知道整点什么,来点简单的吧。

今天讲下memcache的分布式缓存

首先下载memcache的服务器端 百度下可以找到

然后执行安装和开启(关闭服务器)命令(还有其他的命令 可以百度下)

memecached -d instal

memcached -d start(stop)

然后我们用vs建个console项目

用nuget 下载memcache的c#调用驱动 当然有一些驱动,我选择的是EnyimMemcached github开源地址为:https://github.com/enyim/EnyimMemcached

首先配置app.config

配置如下(我这里是用了两台服务器做分布式,当其中一台服务器崩掉了,还可以获取到值,简而言之就是这样的,太官方的语言不会)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="enyim.com">
      <section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
    </sectionGroup>
    <section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
  </configSections>
  <enyim.com>
    <memcached>
      <servers>
        <add address="127.0.0.1" port="11211" />
        <add address="118.192.146.104" port="11211" />
      </servers>
      <socketPool minPoolSize="10" maxPoolSize="100" connectionTimeout="00:00:10" deadTimeout="00:02:00" />
    </memcached>
  </enyim.com>
  <memcached keyTransformer="Enyim.Caching.TigerHashTransformer, Enyim.Caching">
    <servers>
      <add address="127.0.0.1" port="11211" />
      <add address="118.192.146.104" port="11211" />
    </servers>
    <socketPool minPoolSize="2" maxPoolSize="100" connectionTimeout="00:00:10" deadTimeout="00:02:00" />
  </memcached>
</configuration>

c#调用代码如下

 class Program
    {
        static void Main(string[] args)
        {
            MemcachedClient mc = new MemcachedClient();

            mc.Store(StoreMode.Set, "test", "hello world");

            Console.WriteLine(mc.Get("test"));

            Console.ReadLine();
        }
    }

这样的效果就是往这两台分布式服务器上写值,断掉其中一台服务器,可以仍然获取到值。

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

标签:

原文地址:http://www.cnblogs.com/nele/p/5484164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!