• Memcached缓存在.Net 中的使用(memcacheddotnet)


    缓存对于提高大数据量的网站性能无疑不是一个很好的解决方案,针对缓存的使用网上同仁介绍很多,再次我仅仅分享一下自己对Memcached使用的简单介绍。Memchached的使用通过第三方DLL来完成,常用的第三方类库如下:memcacheddotnet、EnyimMemcached。这里主要介绍memcacheddotnet,代码下载  DLL下载  自定义Demo1下载  官方Demo2下载 。

    windows  memcached下载 memchaced的配置,这里不做解释,网上同仁写的很详细;

    针对Memchaced分布式缓存,memcacheddotnet也封装了相应的方法,详细使用可以参考官方Demo2中的内容;

    使用方式也特别方便,举出部分主要代码如下

     class Program
        {
            static void Main(string[] args)
            {
                SockIOPool pool = SockIOPool.GetInstance();
                string[] servers = { "127.0.0.1:11211" };
                pool.SetServers(servers);
                pool.MinConnections = 3;
                pool.MaxConnections = 5;
                pool.InitConnections = 3;
                pool.SocketConnectTimeout = 5000;
                pool.Initialize();
    
                MemcachedClient client = new MemcachedClient();
                client.EnableCompression = false;
                Console.WriteLine("----------------------------Set-----------");
                client.Set("key1", "value1");
                Console.WriteLine(client.Get("key1"));            
                Console.WriteLine("---------------------------replay---------");
                client.Replace("key1", "Replay new Key1");
                Console.WriteLine(client.Get("key1"));
                Console.WriteLine("---------------------------键值是否存在----");
                if (client.KeyExists("key2"))
                {
                    Console.WriteLine("key2存在");
                }
                else
                {
                    Console.WriteLine("key2不存在,设置新值");
                    client.Set("key2", "New key2");
                }
                Console.WriteLine("-------------------------删除数据--------");
                client.Delete("key2");
                Console.WriteLine("删除之后的数据: " + client.Get("key2"));
    
                Console.WriteLine("-------------------------数据过期--------");
                client.Add("key3", "新数据三内容", DateTime.Now.AddMilliseconds(5000));
                Console.WriteLine(client.Get("key5"));
                System.Threading.Thread.Sleep(6000);
                Console.WriteLine("过期: "+ client.Get("key5"));
    
                Console.ReadLine();
    
    
            }
        }

    Memcached 安装配置

      1. 安装memcached:

        c:memcached> memcached.exe -d install

      2. 启动memcached:

        c:memcached> memcached.exe -d start

        (之后屏幕无任何提示,但是在“任务管理器”中勾选“显示所有用户进程”,此时可以看到memcached.exe进程正在运行)

        默认端口11211,外部访问需要开放该端口,否则无法成功连接。

      3. memcached基本参数设置:

        -p 监听的端口
        -l 连接的IP地址, 默认是本机
        -d start 启动memcached服务
        -d restart 重起memcached服务
        -d stop|shutdown 关闭正在运行的memcached服务
        -d install 安装memcached服务
        -d uninstall 卸载memcached服务
        -u 以的身份运行 (仅在以root运行的时候有效)
        -m 最大内存使用,单位MB。默认64MB
        -M 内存耗尽时返回错误,而不是删除项
        -c 最大同时连接数,默认是1024
        -f 块大小增长因子,默认是1.25
        -n 最小分配空间,key+value+flags默认是48
        -h 显示帮助

          设置参数时需要先停止memcached,然后用命令行设置,比如:c:memcached> memcached.exe -m 1 -d start

      4. 停止memcached:

        c:memcached> memcached.exe -d stop

      5. 卸载memcached:

        c:memcached> memcached.exe -d uninstall

    几篇不错的博客文章,推荐一下:

    http://www.cnblogs.com/qingyuan/archive/2011/01/17/1937855.html

    http://www.cnblogs.com/hsapphire/archive/2009/12/25/1632179.html

    另外还有一篇缓存的误区:

    http://kb.cnblogs.com/page/138696/

    Memcached 安装配置:

    http://www.cnblogs.com/jiajinyi/p/3531381.html

  • 相关阅读:
    软件体系结构——第一章<软件系统方法论>
    软件体系结构——第二章<如何上升到面向对象>
    Word做算法的三线表
    SCI经典英语单词替换
    《把时间当作朋友》读书笔记
    MySQL8自增主键变化
    MySQL 回表
    未来无线网络下的空中计算技术加速边缘智能
    北斗gps卫星时间同步装置(卫星时钟)在广电系统的应用
    SNTP时钟同步卡(网络时钟服务器)在电信系统应用
  • 原文地址:https://www.cnblogs.com/xibei666/p/4863604.html
Copyright © 2020-2023  润新知