Memcached下载安装、NET对Memcached进行CRUD操作(2)

Memcached概念、作用、运行原理、特性、不足简单梳理(1)

Memcached下载安装、NET对Memcached进行CRUD操作(2)

Memcached存Session数据、访问安全性、使用场景总结(3)

一.安装服务端:

服务端:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip

64:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

1. 解压缩文件到c:\memcached

2. 命令行输入 'c:\memcached\memcached.exe -d install' 

3. 命令行输入 'c:\memcached\memcached.exe -d start' ,该命令启动 Memcached ,默认监听端口为 11211
  通过 memcached.exe -h 可以查看其帮助

 

安装可能出出现的问题:

如果出现上图的问题:

1种情况是找到cmd.exe 右键管理员的身份运行就可以了

2是去服务那里看看是不是已经安装了

二.下载客户端

客户端:http://sourceforge.net/projects/memcacheddotnet/

三.CURD简单操作

1. 将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录

2. 引用Memcached.ClientLibrary.dll

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using Memcached.ClientLibrary;
 
namespace MemberCache
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] serverlist = { "127.0.0.1:11211", "127.0.0.1:11211" };
 
            //初始化池
            SockIOPool pool = SockIOPool.GetInstance();
            pool.SetServers(serverlist);
 
            pool.InitConnections = 3;
            pool.MinConnections = 3;
            pool.MaxConnections = 5;
 
            pool.SocketConnectTimeout = 1000;
            pool.SocketTimeout = 3000;
 
            pool.MaintenanceSleep = 30;
            pool.Failover = true;
 
            pool.Nagle = false;
            pool.Initialize();
 
            // 获得客户端实例
            MemcachedClient mc = new MemcachedClient();
            mc.EnableCompression = false;
 
            Console.WriteLine("------------测  试-----------");
            mc.Set("test", "my value");  //存储数据到缓存服务器,这里将字符串"my value"缓存,key 是"test"
 
            if (mc.KeyExists("test"))   //测试缓存存在key为test的项目
            {
                Console.WriteLine("test is Exists");
                Console.WriteLine(mc.Get("test").ToString());  //在缓存中获取key为test的项目
            }
            else
            {
                Console.WriteLine("test not Exists");
            }
 
            Console.ReadLine();
 
            mc.Delete("test");  //移除缓存中key为test的项目
 
            if (mc.KeyExists("test"))
            {
                Console.WriteLine("test is Exists");
                Console.WriteLine(mc.Get("test").ToString());
            }
            else
            {
                Console.WriteLine("test not Exists");
            }
            Console.ReadLine();
            SockIOPool.GetInstance().Shutdown();
 
        }
    }
}

运行结果:

  

posted @   Joye.Net  阅读(920)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示