在本博客中,只是为大家展示一下Memcached的安装以及基本使用方法,过于深奥的知识点,在本篇文章中不会提到了.
首先把Memcached的下载链接地址分享给大家: http://download.csdn.net/detail/hao930826/9406266
解压后请根据自己的电脑系统选择不同的版本进行使用,这里面包括了64位和32位的数据库版本。这里我只拿64位的版本进行举例说明了。
安装的方法需要使用控制台进行安装:
这里我把文件都放到了D盘中:
控制台中这样输入即可,完成安装操作:
安装之后,需要开启相关的服务才能正常使用:
接下来输入:
以上步骤完成后,去计算机的服务里面去查看是否开启成功了:
开始->控制面板->管理工具->服务,在里面找到这项:
开启之后,就能正常使用了。
除此之外,扩展一些就说配置Memcached数据库的端口号和最大使用内存等问题:
其实也很简单只要在上面安装步骤,也就是在控制台中输入: memcached.exe -p 11211 -m 64就是配置了端口号和最大内存,Memcached数据库的默认端口号为11211其实不用改就可以了。
为了验证我们安装的Memcached是否可以正常使用,接下来我们在控制台中继续输入接下来的语句:
因为我是把数据库安装在了本地计算机中,所以这里面的IP地址我只要输入这个就好了,如果说你把数据库安装在了服务器上面的话,这个IP地址就要写服务器的IP地址了,后面的11211就代表了Memcached的端口号,这个也是看实际情况而定的,默认是11211,所以我只要输入11211就好了。输入之后点击回车继续。
之后会来到一个空白页中,在这里我们使用键盘,点击Ctrl+"]",如果看见下面的内容,就代表了你安装的Memcached能够正常使用了
完成之后,我们就开始进行程序的演示了:首先分享个连接给大家,这里面包括了实例程序和相关的dll文件,在下面我们会使用到的:
http://download.csdn.net/detail/hao930826/9406257
1.首先我们要在引用中导入一下的dll文件,这些文件在上面下载后的文件中都有,在这里我们导入:
2.因为我创建的是web程序,很重要的一个步骤就是要写相关的配置文件内容:
控制台应用程序的配置文件内容:
Web Application的配置文件内容
这里说明一下,控制台应用程序应新建的是配置文件,就是app.config文件,而不是xml文件;web程序写在web.config里面就好了。
配置文件写好之后,后面的步骤就会变得相当简单容易了,接下来我贴上我的代码作为示例:
这里面我们使用代码client.Store进行相关的数据操作,您将使用五种基本 memcached 命令执行最简单的操作。这些命令和操作包括:
set
add
replace
get
delete
前三个命令是用于操作存储在 memcached 中的键值对的标准修改命令
set命令是赋值语句,如果存在相应的键的话就去替换,没有的话就会新建。add命令是新增语句,但如果存在了相应的键值对的话,就会报错。replace就是替换和set差不多。get命令是取值命令,根据相应的键去取值,delete是删除命令,但是删除了一个不存在的键的话,会报错。
在上面的代码中我使用到了增值语句,最后我设置了这条数据的缓存时间,就是说超过了这个时间的话,这条数据就会被自动删除掉了。
Memcached不仅能保存简单数据类型的值,还能保存对象类型的值:
public void testMemcachedProviders()
{
string key = "myName";
string value = "Dylan";
bool result =false;
string val=string.Empty;
#region 存/取最简单的数据类型
//如果缓存中没有,就尝试着去存入缓存
if (DistCache.Get(key) == null)
{
//DistCache.DefaultExpireTime = 1200;//缓存时间
result = DistCache.Add(key, value); //存数据
if (result)
{
//如果存入成功,就试着去取
Thread.Sleep(500);
string ret = (string)DistCache.Get(key); //读数据
//Assert.AreEqual(value, ret); //验证
if (ret != null)
{
Response.Write(ret);
Response.Write("
");
}
else
{
//取出来的值为null,直接移除该缓存对象
DistCache.Remove(key);//移除
// DistCache.RemoveAll();//移除所有
}
}
}
else {
//缓存中有,直接拿数据
string ret = (string)DistCache.Get(key);
if (ret != null)
{
Response.Write(ret);
Response.Write("
");
}
else {
DistCache.Remove(key);
}
}
#endregion
#region 存/取一个Person对象 0
Person person = new Person() {Id=007,Name="Dylan"};//new 一个Person对象的实例
//如果缓存中没有,则尝试着放入缓存
if (DistCache.Get("myObj") == null)
{
result = DistCache.Add("myObj", person);
if (result)
{
Thread.Sleep(500);
val = DistCache.Get("myObj").ToString();
if (val != null) {
Response.Write(val);
Response.Write("
");
}
else {
DistCache.Remove("myObj");
}
}
}
else
{
//缓存中已经有该对象,就直接从缓存取
Person p = DistCache.Get("myObj");
val = person.ToString();
//也可以直接这样取
// val = DistCache.Get("myObj").ToString();
if (val != null)
{
Response.Write(val);
Response.Write("
");
}
else
{
DistCache.Remove("myObj");
}
}
#endregion
}
简单的演示步骤就是这些了,希望能够帮助到大家