zoukankan      html  css  js  c++  java
  • Mencached使用

    Mencached使用小记

    该文章简单记录一下在Windows平台下安装与配置Memcached的方法,Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

    1、下载Memcached for Windows

      点击下载(版本1.4.5)

      说明:win64bit 1.4.4 这个版本的MemCached有网友说 设置缓存过期时间和大并发的时候缓存会失败,因此推荐安装1.4.5的版本,该版本会更稳定

    2、安装Memcached

      把下载下来的Memcached文件放到D盘,我的路径如下:

      D:Cachememcached64bit

      

    2.1、命令行安装

      我的系统时64bit,因此我安装的是64位的Memcached-1.4.5

      安装命令:

      1、以管理员身份运行 cmd.exe

      2、进入到memcached文件夹
        C:Userschenlong1>D:

        D:>cd Cachememcached64bit

      3、安装
        D:Cachememcached64bit>memcached-1.4.5.exe -d install

      4、启动
        D:Cachememcached64bit>memcached-1.4.5.exe -d start

     

    Memcached的安装就此结束,Memcached是以windows服务运行的,下面我们来看一下我们的Memcached是否安装成功了

    cmd  命令 services.msc 打开windows服务,找到memcached服务,说明安装成功

    安装参数介绍:

      输入命令:D:Cachememcached64bit>memcached-1.4.5.exe -h 可以查看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 显示帮助

    2.2 bat批处理文件安装

    1、安装启动memcached的批处理命令如下:

    复制代码
    echo start install memcached
    cd D:Cachememcached
    memcached-1.4.5.exe -d install
    echo start memcached service
    memcached-1.4.5.exe -d start
    echo end
    pause
    复制代码

    2、停止和卸载memcached的批处理命令如下:

    复制代码
    echo start uninstall memcached
    cd D:Cachememcached
    memcached-1.4.5.exe -d stop
    
    memcached-1.4.5.exe -d uninstall 
    echo end
    pause
    复制代码

    以管理员的身份运行批处理文件,即可安装或卸载memcached服务

    3、.net程序中使用memcached

    由于现在的项目中使用了EnyimMemcached.2.13操作memcached缓存,因此我也介绍一下EnyimMemcached的简单使用

    通过Nuget安装EnyimMemcached.2.13

    1、Web.config配置文件

    复制代码
    <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>
            <!-- put your own server(s) here-->
            <add address="127.0.0.1" 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" />
        </servers>
        <socketPool minPoolSize="2" maxPoolSize="100"  connectionTimeout="00:00:10" deadTimeout="00:02:00" />
      </memcached>
    </configuration>
    复制代码

    2、MemCachedHelper

    复制代码
    using Enyim.Caching;
    using Enyim.Caching.Configuration;
    using Enyim.Caching.Memcached;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ClassLibrary1
    {
        public sealed class MemCachedHelper
        {
            private static MemcachedClient MemClient;
            static readonly object padlock = new object();
    
            //线程安全的单例模式
            public static MemcachedClient getInstance()
            {
                if (MemClient == null)
                {
                    lock (padlock)
                    {
                        if (MemClient == null)
                        {
                            MemClientInit();
                        }
                    }
                }
                return MemClient;
            }
            //初始化缓存
            static void MemClientInit()
            {
                try
                {
                    MemClient = new MemcachedClient("enyim.com/memcached");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            //构造函数
            static MemCachedHelper()
            {
                getInstance();
            }
    
            public static void Store(string Key, object Value, DateTime ExpiredAt)
            {
                MemClient.Store(StoreMode.Set, Key, Value, ExpiredAt);
            }
    
            public static T Get<T>(string Key)
            {
                return MemClient.Get<T>(Key);
            }
    
            public static void Remove(string Key)
            {
                MemClient.Remove(Key);
            }
    
        }
    }
    复制代码

    3、调用测试

    本文参考:

      http://www.cnblogs.com/lucky_hu/p/4676734.html

  • 相关阅读:
    git日常使用的常用命令总结
    wordpress-技术博客主题推荐
    git日常使用的常用命令总结
    wordpress-技术博客主题推荐
    Centos系统安装Python3.7
    LeetCode-----翻转二叉树
    搭建 WordPress 博客教程
    echarts 去掉网格线
    调整柱状图圆角弧度
    Echarts设置y轴值间隔 以及设置 barWidth : 30,//柱图宽度
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/4690957.html
Copyright © 2011-2022 走看看