一、下载安装Redis(windows版本)

  1、下载地址:https://github.com/MicrosoftArchive/redis/releases

  2、安装:

      1)打开运行窗口,输出cmd,进入DOS命令窗口。然后打开至redis目录,执行redis-service redis.windows.conf命令(下图为安装成功)。

        

       2)这个窗口要保持开启关闭时redis服务会自动关闭,所以需要把redis添加到windows服务(可以保存成两个bat批处理文件)。

         安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose

         卸载命令:redis-server --service-uninstall

二、.net环境应用,以ServiceStack.Redis类库为例(功能:删除商品下Key值为xxxxx的缓存)。

  1、定义redis单独配置文件。

    1)web.config

      

      

    2)redis.config

      

  2、定义RedisSection类,redis相关属性等。

namespace Demo.Util
{
public class RedisSection : ConfigurationSection
{
private static RedisSection _instance; public static RedisSection Instatce
{
get
{
_instance = ConfigurationManager.GetSection("redissection") as RedisSection;
return _instance;
}
} /// <summary>
/// 服务器
/// </summary>
[ConfigurationProperty("host", IsRequired = true)]
public string Host
{
get { return this["host"].ToString(); }
} /// <summary>
/// 端口号
/// </summary>
[ConfigurationProperty("port", IsRequired = true)]
public string Port
{
get { return this["port"].ToString(); }
} /// <summary>
/// 密码
/// </summary>
[ConfigurationProperty("password", IsRequired = false)]
public string Password
{
get { return this["password"].ToString(); }
} /// <summary>
/// 过期时间 单位:小时
/// </summary>
[ConfigurationProperty("expireTime", IsRequired = false)]
public int ExpireTime
{
get { return int.Parse(this["expireTime"].ToString()); }
} /// <summary>
/// 最大写链接数
/// </summary>
[ConfigurationProperty("MaxWritePoolSize", IsRequired = false, DefaultValue = )]
public int MaxWritePoolSize
{
get
{
int maxWritePoolSize = (int)base["MaxWritePoolSize"];
return maxWritePoolSize > ? maxWritePoolSize : ;
}
set
{
base["MaxWritePoolSize"] = value;
}
} /// <summary>
/// 最大读链接数
/// </summary>
[ConfigurationProperty("MaxReadPoolSize", IsRequired = false, DefaultValue = )]
public int MaxReadPoolSize
{
get
{
int maxReadPoolSize = (int)base["MaxReadPoolSize"];
return maxReadPoolSize > ? maxReadPoolSize : ;
}
set
{
base["MaxReadPoolSize"] = value;
}
} /// <summary>
/// 自动重启
/// </summary>
[ConfigurationProperty("AutoStart", IsRequired = false, DefaultValue = true)]
public bool AutoStart
{
get
{
return (bool)base["AutoStart"];
}
set
{
base["AutoStart"] = value;
}
} [ConfigurationProperty("keys", IsDefaultCollection = true)]
public KeyCollection Keys
{
get { return this["keys"] as KeyCollection; }
}
} public class KeyCollection : ConfigurationElementCollection
{
protected override ConfigurationElement CreateNewElement()
{
return new KeyElement();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((KeyElement)element).Name;
} public KeyElement this[int index]
{
get
{
return this.BaseGet(index) as KeyElement;
}
}
new public KeyElement this[string Name]
{
get
{
return (KeyElement)BaseGet(Name);
}
}
new public int Count
{
get { return base.Count; }
}
} public class KeyElement : ConfigurationElement
{
[ConfigurationProperty("name", IsRequired = false)]
public string Name
{
get { return this["name"].ToString(); }
} [ConfigurationProperty("key", IsRequired = true)]
public string Key
{
get { return this["key"].ToString(); }
}
}
}

  3、定义RedisHelper类,redis相关操作。

public class RedisHelper
{ private static string password = string.IsNullOrEmpty(RedisSection.Instatce.Password) ? "" : RedisSection.Instatce.Password + "@"; //Redis服务器和端口号(密码@127.0.0.1:6379)
private static string RedisPath = string.Format("{0}:{1}", password + RedisSection.Instatce.Host, RedisSection.Instatce.Port); //过期时间(小时)
//private static int ExpireTime = RedisSection.Instatce.ExpireTime; private static PooledRedisClientManager prcm = CreateManager(new string[] { RedisPath }, new string[] { RedisPath }); /// <summary>
/// 缓存池
/// </summary>
/// <param name="readWriteHosts">“写”链接池链接数</param>
/// <param name="readOnlyHosts">“读”链接池链接数</param>
/// <returns></returns>
private static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
{
// 支持读写分离,均衡负载
return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
{
MaxWritePoolSize = RedisSection.Instatce.MaxWritePoolSize,
MaxReadPoolSize = RedisSection.Instatce.MaxReadPoolSize,
AutoStart = RedisSection.Instatce.AutoStart
});
} public static void Remove(string key)
{
using (var redis = prcm.GetClient())
{
redis.Remove(key);
}
} public static void RemoveAll(IEnumerable<string> keys)
{
using (var redis = prcm.GetClient())
{
redis.RemoveAll(keys);
}
} }

  4、使用

var key = RedisSection.Instatce.Keys["product"].Key;
Util.Redis.RedisHelper.Remove(key);

windows下redis安装及应用的更多相关文章

  1. windows下Redis安装及利用java操作Redis

    一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...

  2. windows下redis安装和配置

    windows下redis安装和配置 redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数 ...

  3. Windows下Redis安装配置和使用注意事项

    Windows下Redis安装配置和使用注意事项 一:下载 下载地址: https://github.com/microsoftarchive/redis/releases 文件介绍: 本文以3.2. ...

  4. Windows下Redis安装+可视化工具Redis Desktop Manager使用

    Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这里就简单介绍一下Windows下Redis服务的安装方法,希望能够帮到你. ...

  5. windows下redis安装

    最近因公司项目原因,去了趟昆明出差,其中第一次接触安装redis,配置sentinel,学习到不少,但也都是皮毛而已,本随笔记下所学知识. 1.首先介绍下redis,来源自百度百科 redis是一个k ...

  6. windows下redis安装及配置

    1.简介: redis是一个高性能的key-value数据库:redis能读的速度为11万次/秒,写的速度是8.1万次/秒 redis支持丰富的数据类型:String, List, Hash(map) ...

  7. Windows下Redis安装及使用

    1.下载安装Redis(安装直接下一步就行,此步骤省略) Redis-x64-3.2.100.exe 2.Redis使用 安装目录如下: ①cmd启动redis: ②将redis安装为服务 此时如果安 ...

  8. 1.windows下Redis安装

    参考文档:https://www.cnblogs.com/Leo_wl/p/6392196.html?utm_source=itdadao&utm_medium=referral Redis数 ...

  9. Windows下Redis安装过程

    1.去github下载Redis-x64-2.8.2402.zip压缩包 2.将压缩包解压到你要安装的目录下 3.将redis设置为开机自启动服务 redis-server --service-ins ...

随机推荐

  1. curl: (60) SSL certificate problem: unable to get local issuer certificate 错误

    今天同事做微信管理的项目,请求接口返回如下错误SSL certificate problem: unable to get local issuer certificate. 此问题的出现是由于没有配 ...

  2. js深拷贝、浅拷贝

    浅拷贝: 只针对当前对象的属性进行拷贝,若当前对象的属性是引用类型时,这个不考虑,不进行拷贝.若属性是引用类型,拷贝后引用的是地址,如果进行更改,会影响拷贝的原对象属性. 深拷贝:针对当前对象的数据的 ...

  3. 调用数据库-corina

    pym = mysql(host='#####', port=3306, user='######', password='########', database='algorithm') #查询数据 ...

  4. /^\s+|\s+$/g 技术 内容

    alert(" aa dd ".replace(/^\s+|\s+$/g,'')+"方式的"); //正则表达式解释:分成两部分,^\s+ 以空格开头,\s+$ ...

  5. a标签的四个伪类

    A标签的css样式   CSS为一些特殊效果准备了特定的工具,我们称之为“伪类”.其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是: :link    :v ...

  6. 643. Maximum Average Subarray I

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...

  7. 2018.10.18 bzoj4105: [Thu Summer Camp 2015]平方运算(线段树)

    传送门 线段树妙题. 显然平方几次就会循环(打表证明不解释). 然后所有环长度的lcmlcmlcm不大于70. 因此维护一下当前区间中的节点是否全部在环上. 不是直接暴力到叶子节点修改. 否则整体打标 ...

  8. 2018.06.30 BZOJ1026: [SCOI2009]windy数(数位dp)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MB Description windy定义了一种windy数.不含前导零且相邻两 ...

  9. hdu-1116(欧拉回路+并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1116 思路:将字符串的头元素和尾元素视为图的x,y节点,然后合并x,y. 如果这个图不连通,则门不能打 ...

  10. 继承方法-->一级一级继承

    Grand.prototype.lastName = 'ji'; function Grand(){}; var grand = new Grand(); Father.prototype = gra ...