Memcache 学习记录

Memcache简介:

Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

Memcache使用

第一步:安装Memcache服务端

  32位链接:https://pan.baidu.com/s/1bpEYRDX 密码:jyu6

   64位链接:https://pan.baidu.com/s/1nuVtktb 密码:pqiw

   1 解压缩文件到c:memcached(随便哪个盘都行)
   2 命令行输入 'c:memcachedmemcached.exe -d install' 
   3 命令行输入 'c:memcachedmemcached.exe -d start' ,该命令启动 Memcached ,默认监听端口为 11211

到此就可以在系统服务中找到Memcache服务了

第二步:下载所需库文件

链接:https://pan.baidu.com/s/1i4Dk3qP 密码:gch7

Commons.dll

ICSharpCode.SharpZipLib.dll

log4net.dll

Memcached.ClientLibrary.dll

第三步:封装设置和获取

 1 using Memcached.ClientLibrary;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Web;
 6 
 7 
 8 public class MemcacheHelper
 9 {
10     private static readonly MemcachedClient mc = null;
11     static MemcacheHelper()
12     {
13         string[] serverlist = { "127.0.0.1:11211", "10.0.0.132:11211" };
14 
15         //初始化池
16         SockIOPool pool = SockIOPool.GetInstance();
17         pool.SetServers(serverlist);
18 
19         pool.InitConnections = 3;
20         pool.MinConnections = 3;
21         pool.MaxConnections = 5;
22 
23         pool.SocketConnectTimeout = 1000;
24         pool.SocketTimeout = 3000;
25 
26         pool.MaintenanceSleep = 30;
27         pool.Failover = true;
28 
29         pool.Nagle = false;
30         pool.Initialize();
31 
32         // 获得客户端实例
33         mc = new MemcachedClient();
34         mc.EnableCompression = false;
35 
36     }
37     /// <summary>
38     /// 向Memcache存储数据
39     /// </summary>
40     /// <param name="key"></param>
41     /// <param name="value"></param>
42     public static void Set(string key, object value)
43     {
44         mc.Set(key, value);
45     }
46     /// <summary>
47     /// 向Memcache存储数据
48     /// </summary>
49     /// <param name="key"></param>
50     /// <param name="value"></param>
51     /// <param name="time"></param>
52     public static void Set(string key, object value, DateTime time)
53     {
54         mc.Set(key, value, time);
55     }
56     /// <summary>
57     /// 获取Memcache中的数据
58     /// </summary>
59     /// <param name="key"></param>
60     /// <returns></returns>
61     public static object Get(string key)
62     {
63         if (mc.KeyExists(key))
64         {
65             return mc.Get(key);
66         }
67         return null;
68     }
69     /// <summary>
70     /// 删除
71     /// </summary>
72     /// <param name="key"></param>
73     /// <returns></returns>
74     public static bool Delete(string key)
75     {
76         if (mc.KeyExists(key))
77         {
78             return mc.Delete(key);
79         }
80         return false;
81     }
82 }

serverlist中存储的是缓存服务器的IP地址和端口号,在实际项目中缓存服务器的IP地址和端口号一遍都存在配置文件中一遍修改和添加

原文地址:https://www.cnblogs.com/zhhwDavidblog/p/8058479.html