【8】memcached实例
一.memcached环境搭建
1、下载后解压到D:\memcached(下载地址:memcached-win64下载地址)
2、安装到windows服务,打开cmd命令行,进入memcached目录,执行memcached -d install命令,安装服务。
如果在没有安装过的情况下,出现"failed to install service or service already installed"错误,可能是cmd.exe需要用管理员身份运行。
3、启动服务,执行memcached -d start
4、参数介绍
-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 显示帮助
二. .net缓存实例
<configuration>
<configSections>
<sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
</sectionGroup>
</configSections>
<enyim.com protocol="Binary">
<memcached>
<servers>
<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>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
4.添加MemcachedHelper类
public class MemcachedHelper
{
MemcachedClient memClient = new MemcachedClient(); /// <summary>
/// 设置缓存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
public bool Set(string key, object value)
{
object memValue;
if (memClient.TryGet(key, out memValue))
{
memClient.Remove(key);
}
return memClient.Store(Enyim.Caching.Memcached.StoreMode.Add, key, value);
} /// <summary>
/// 获取缓存 泛型方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public T Get<T>(string key) where T : class
{
object result;
if (memClient.TryGet(key, out result))
return result as T;
return null;
} /// <summary>
/// 获取缓存 通用方法
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public object Get(string key)
{
object result;
if (memClient.TryGet(key, out result))
return result;
return null;
}
}
5.Main方法中代码
class Program
{
static void Main(string[] args)
{
try
{
MemcachedHelper memHelper = new MemcachedHelper();
//缓存字符串
memHelper.Set("memStr", "Hello World!");
var a = memHelper.Get("memStr");
Console.WriteLine(a);
//缓存类型
memHelper.Set("memClass", new MemClass() { Id = , Name = "class" });
var b = memHelper.Get<MemClass>("memClass");
Console.WriteLine(string.Format("Id:{0} Name:{1}", b.Id, b.Name));
Console.ReadLine();
}
catch (Exception ex)
{
throw;
}
}
} [Serializable]//注:缓存类型一定要加可序列化的特性,否则无法缓存成功
public class MemClass
{
public int Id { get; set; }
public string Name { get; set; }
}
6.运行项目
【8】memcached实例的更多相关文章
- memcached—Java操作Memcached实例
前面博客介绍了如何在Windows操作系统中安装Memcached,总结一下如何使用Java操作Memcached实例: 代码一: package com.ghj.packageoftool; imp ...
- 【实践】Memcached实例解析
一.关于Memcached Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是一种基于内存的Key-Value存储,用来存储小块的任意数据(字符串.对象).这些 ...
- memcached 系列2:memcached实例(转载)
在上一篇文章,我们讲了,为什么要使用memched做为缓存服务器(没看的同学请点 这里).下面让我们以memcached-1.2.1-win32版本的服务组件(安装后是以一个windows服务做dae ...
- Memcached 实例
建立Manager类 package com.alisoft.sme.memcached; import java.util.Date; import com.danga.MemCached.MemC ...
- memcached实例(enyim.com Memcached Client)
在上一篇文章,我们讲了,为什么要使用memched做为缓存服务器(没看的同学请点这里).下面让我们以memcached-1.2.1-win32版本的服务组件(安装后是以一个windows服务做daem ...
- Memcached简介
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法.其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率. 除了能够提高服务的运行效 ...
- 分布式缓存技术memcached学习(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- 【转】Memcached安装
解析:Memcached是什么? Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. 一.软件版本 ...
- memcached总结
Memcached说明文档 Memcached是什么? Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数 ...
随机推荐
- Mounting VMDK files in Linux
1.用 loop 方式挂载 vmdk 文件 losetup /dev/loop0 docker_pull-flat.vmdk 2.查看分区 [root@localhost]# parted /dev/ ...
- Exp2 后门原理与实践 20164323段钊阳
220164323 Exp2 后门原理与实践 (1)例举你能想到的一个后门进入到你系统中的可能方式?在使用盗版软件,盗版系统,甚至游戏外挂时,往往会让我们关闭杀毒软件,.(2)例举你知道的后门如何启动 ...
- AcDbTable表格实体的简单例子
例子是创建一个含有表格实体的块定义 效果如下(手动插入的块) 源代码如下,简单示意,采用了我不是很熟悉的智能指针创建实体对象,代码仅供参考 AcDbObjectPointer<AcDbTable ...
- 查看python中已安装的包
pip list 现在我又知道了个:rpm -qa | grep XXXX(moudle name)
- webpack 安装
先安装node ----去nodejs官网上下载最新稳定版 一般node上面会有npm,所以选择npm安装webpack 命令:npm install webpack -g 有时候输入该命令会失败,一 ...
- [ActionScript3.0] 使用FileReferenceList处理多个文件上载
package { import flash.display.Sprite; import flash.events.DataEvent; import flash.events.Event; imp ...
- Vmware下Kali设置桥接网络无法上网
1.检查是否设置桥接 2.编辑>首选项>虚拟网络编辑器>选对本机上网的网卡 3.检查上网的网卡>适配器属性栏有没有 Vmware Bridge Protocol 桥接的服务. ...
- [转载] 解决gns3 for mac模拟器三层交换机无法成功创建vlan的问题
1.删除之前导入的ios: 2.选择GNS3--Edit--Preferences--IOS routers--New--导入ios-- 勾选This is an EtherSwitch router ...
- Vue 不睡觉教程1-从最土开始
目标最近在学习vue的过程中发现网上的vue教程总有些不同的问题,有的教程上来只说语法,有的教程上来就用vue-cli来建项目,但是vue-cli是整合了webpack等多个插件的工具,不利于我们学习 ...
- Webpack学习错误解决笔记
错误1:在用npm install 安装模块时,时常会出现没有以下类似的错误 解决方法:右键点击node_modules文件夹,选取属性,将文件夹只读选项去除 错误2:在学习到清理/dist文件夹这块 ...