一、下载安装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. viewstamp replication: A new primary copy method to support highly-avaliable d

    为了提高服务能力或者服务稳定,往往需要把数据重复布署,也就是replication.重复带来的问题是,更新的时候会带来不一致.一种比较简单的方法是,在N台重复的机器里选一台作为主机,其他作备份,只能通 ...

  2. mybatis的select、insert、update、delete语句

    一.select <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String&qu ...

  3. dbus通信与接口介绍

    DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息给另外一个进程时,先发消息到后台进程,再通过后台进程将信 ...

  4. poj3017 Cut the Sequence 单调队列 + 堆 dp

    描述 把一个正数列 $A$分成若干段, 每段之和 不超过 $M$, 并且使得每段数列的最大值的和最小, 求出这个最小值. 题目链接 题解 首先我们可以列出一个$O(n^2)$ 的转移方程 : $F_i ...

  5. array_column()提取二维数组中某个值

    <?php $multipleCommodity = array( =>array(), =>array() ); $arr1=array_column($multipleCommo ...

  6. Java数据结构和算法(三)顺序存储的树结构

    Java数据结构和算法(三)顺序存储的树结构 二叉树也可以用数组存储,可以和完全二叉树的节点一一对应. 一.树的遍历 // 二叉树保存在数组中 int[] data; public void preO ...

  7. wcf数据推送

    http://www.cnblogs.com/artech/archive/2007/03/02/661969.html

  8. 为什么c++中返回成员变量的指针,会破坏了封装?

    上述代码中,get()函数返回的是类成员变量的name的地址,这是很危险的,name是私有的,意味这不想被客户访问,但是如果返回name的地址,那么外部函数就可以修改name,这就破坏了封装性. 为什 ...

  9. VS2010 MFC 使用GDI+给图片添加汉字

    1.配置GDI+ VS2010自带GDI+,直接使用. (1)首先要添加头文件和库 #pragma comment( lib, "gdiplus.lib" ) #include & ...

  10. python 线程和进程概述

    计算机中执行任务的最小单元:线程 IO操作利用CPU GIL,全局解释器锁 IO密集型: 多线程(不用CPU) 计算机密集型(用CPU) 进程和线程的目的:提高执行效率 1.单进程单线程,主进程.主线 ...