• 所谓的分布式——memcache


    这篇开始决定把系列文章的名字改掉,想了个好名字,反正不是玩单机版的就行了。

        好了,这篇我们看看一种非持久化的缓存服务器memcache,说到缓存本能反映就是cache,session什么的,是的,可以说这

    些都是基于.net进程的,通俗点也就做不了多机器的共享,典型的一个就是SSO。

    一: 安装

         memcahce像redis,mongodb一样都需要开启他们自己的服务端,我们下载Memcached_1.2.5.zip,然后放到C盘,修改文件

    名为memcached。

    1:install

         install可以说是万能通用命令,首先我们转到memcached目录,然后 memcached.exe -d install 即可。

            

    2:start

        现在我们只要启动start即可,要注意的就是memecache默认的端口是11211,当然我也不想重新指定端口了。

            

    3:stop,uninstall

         这两个就不截图了,一个是停止,一个是卸载,反正都是万能通用命令。

    二:驱动程序

       memcache的服务器我们就已经开启好了,由于在公司最近一直都在用php,算了还是用C#驱动吧,谁让这是.net

    社区呢,下载C#驱动,既然是缓存服务器,只要有基本的CURD,我想应该就差不多了。

    复制代码
     1 using System;
     2 using System.Collections.Generic;
     3 
     4 namespace BeIT.MemCached
     5 {
     6     class Example
     7     {
     8         public static void Main(string[] args)
     9         {
    10             //通过配置文件初始化memcache实例
    11             MemcachedClient cache = MemcachedClient.GetInstance("MyConfigFileCache");
    12 
    13             //编辑(可以模拟session操作,缓存20分钟)
    14             cache.Set("name", "一线码农", DateTime.Now.AddMinutes(20));
    15 
    16             //获取
    17             var result = cache.Get("name");
    18 
    19             Console.WriteLine("获取name的缓存数据为: " + result);
    20 
    21             //删除
    22             cache.Delete("name");
    23 
    24             Console.WriteLine("
    成功删除cache中name的数据");
    25 
    26             result = cache.Get("name");
    27 
    28             Console.WriteLine("
    再次获取cache中name的数据为:" + (result ?? "null") + "
    ");
    29 
    30             //查看下memecahce的运行情况
    31             foreach (KeyValuePair<string, Dictionary<string, string>> host in cache.Status())
    32             {
    33                 Console.Out.WriteLine("Host: " + host.Key);
    34                 foreach (KeyValuePair<string, string> item in host.Value)
    35                 {
    36                     Console.Out.WriteLine("	" + item.Key + ": " + item.Value);
    37                 }
    38                 Console.Out.WriteLine();
    39             }
    40 
    41             Console.Read();
    42         }
    43     }
    44 }
    复制代码

    我们再定义下配置文件,既然memcache可以用于分布式,那就避免不了将cache分摊到几台服务器上去,可以看到,下面的

    配置也是非常简单的,当然分配的法则自然是memcache自身的算法决定的,最后别忘了在另一台服务器上开放一个端口就它

    就行了。

    复制代码
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="beitmemcached" type="System.Configuration.NameValueSectionHandler" />
      </configSections>
      <appSettings>
      </appSettings>
      <beitmemcached>
        <add key="MyConfigFileCache" value="127.0.0.1:11211" />
        <!--<add key="MyConfigFileCache" value="127.0.0.1:11211,127.0.0.1:8888" />-->
      </beitmemcached>
    </configuration>
    复制代码

    下面是打包程序:BeITMemcached ,也可以到codegoogle去下载。

  • 相关阅读:
    一道亲戚的生物学改题
    【水】强化16题解
    【我为标程写注释】最大值最小化
    【我为标程写注释】卢斯进制
    oracle 解锁表
    Oracle存储过程根据指定日期返回(N个)工作日的时间
    NPOI_2.1.3_学习记录(6)-Excel中设置小数、百分比、货币、日期、科学计数法和金额大写
    NPOI_2.1.3_学习记录(5)-创建Excel的页眉页脚
    NPOI_2.1.3_学习记录(4)-Excel中单元格的复制
    NPOI_2.1.3_学习记录(2)-在Excel中创建工作表(Sheet)
  • 原文地址:https://www.cnblogs.com/zzw1986/p/4662941.html
Copyright © 2020-2023  润新知