专栏首页平凡少年Memcached使用小记

Memcached使用小记

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

1、下载Memcached for Windows

点击下载(版本1.4.5)

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

2、安装Memcached

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

  D:\Cache\memcached\64bit

2.1、命令行安装

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

安装命令:

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

  2、进入到memcached文件夹     C:\Users\chenlong1>D:

    D:\>cd Cache\memcached\64bit

  3、安装     D:\Cache\memcached\64bit>memcached-1.4.5.exe -d install

  4、启动     D:\Cache\memcached\64bit>memcached-1.4.5.exe -d start

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

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

安装参数介绍:

  输入命令:D:\Cache\memcached\64bit>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:\Cache\memcached\
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:\Cache\memcached\
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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Maven详解

    这个我们都很熟悉,src下建包写代码,那么配置文件放在哪里?单元测试代码放在哪里?没有一个统一标准,更多时候都是开发者的自由发挥,每个人有自己的风格,这并...

    写代码的猿
  • Redis主从复制配置

    一、Redis的Replication:     这里首先需要说明的是,在Redis中配置Master-Slave模式真是太简单了。相信在阅读完这篇Blog之...

    写代码的猿
  • Knockout简单用法

        在最近做的一个项目中,页面数据全部通过js ajax调用webapi接口获取,也就是说页面的数据全部使用javascript脚本填充,这就想到了使用一个...

    写代码的猿
  • nginx+memcached构建页面缓存应用

    nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、djang...

    后端技术探索
  • nginx+memcached构建页面缓存应用

    nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、djang...

    后端技术探索
  • PHP 开发学习[2] —— wamp memcache 的安装与扩展(Windows 64)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    泥豆芽儿 MT
  • Linux 安装Memcached

    剑行者
  • memcached的最新状态

    memcached 是由 Danga Interactive 开发并使用 BSD 许可的一种通用的分布式内存缓存系统。最新的稳定版本是memcached 1.4...

    张善友
  • memcached全面剖析

    如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memca...

    张善友
  • Mac OS使用brew安装memcached

    代码改变世界-coding

扫码关注云+社区

领取腾讯云代金券