ASP.NET MVC4 Redis 学习笔记

1.下载地址:https://github.com/dmajkic/redis/downloads

2.里面有一个redis-server.exe 启动应用程序

redis-cli.exe执行程序

3.基本命令:

keys * 查询所有key值 flushdb //删除当前数据库中的所有Key flushall //删除所有数据库中的key

 

4.Redis 有容灾措施,数据并不是都写在内存中,还会备份到磁盘中。启动时,会先到对应的磁盘读取数据。

ASP.NET MVC4 Redis 学习笔记

5.在visual studio 中使用Session的共享的 Custom模式实现Redis托管Session的应用。

ASP.NET MVC4 Redis 学习笔记

在 程序包中安装 Harbour.RedisSessionStateStore

 

使用非常简单,首先,搭建好你的Redis环境,将Harbour.RedisSessionStateStoreServiceStack.Redis添加引用,然后修改Web.config的配置如下:

    

 <system.web>

 <sessionState mode="Custom"customProvider="RedisSessionStateProvider">

   <providers>

     <clear />

     <add name="RedisSessionStateProvider"

         type="Harbour.RedisSessionStateStore.RedisSessionStateStoreProvider"

          host="localhost:6379"clientType="pooled" />

   </providers>

 </sessionState>

</system.web>

 

其中最为关键的是host属性,指向了你的Redis服务的IP/端口。在使用Redis中,你也可以为Redis配置密码,而配置文件中需要修改host属性为:[email protected]:6379。clientType默认设为pooled连接池模式。若不使用连接池模式则修改为其他字符串(空也视为pooled模式)

这个Provider有一个特点,不针对应用ID为Session加前缀

 

 

 

 

 

Redis 创建客户端对象的方法

ASP.NET MVC4 Redis 学习笔记

Redis 赋值的方法

ASP.NET MVC4 Redis 学习笔记

取值、cl.GetValue("aKey");

 ASP.NET MVC4 Redis 学习笔记

设置Redis 和读取实验

存入

string ww = "value"; stringmsg="";

RedisClient cl = new RedisClient(); //Redis客户端对象

bool b = cl.Add("aKey", ww); //字符串赋值,返回BOOL值

ASP.NET MVC4 Redis 学习笔记

ASP.NET MVC4 Redis 学习笔记

存储成功后不能重复存储(那么怎么更新呢?先删除,再插入?)

ASP.NET MVC4 Redis 学习笔记

取值 cl.GetValue("aKey");

ASP.NET MVC4 Redis 学习笔记

5.读取配置的类

public class RedisConfigInfo { public static string WriteServerList =ConfigurationManager.AppSettings["WriteServerList"];public static string ReadServerList =ConfigurationManager.AppSettings["ReadServerList"];public static int MaxWritePoolSize =Convert.ToInt32(ConfigurationManager.AppSettings["MaxWritePoolSize"]);public static int MaxReadPoolSize =Convert.ToInt32(ConfigurationManager.AppSettings["MaxReadPoolSize"]);public static int LocalCacheTime =Convert.ToInt32(ConfigurationManager.AppSettings["LocalCacheTime"]);public static bool AutoStart = ConfigurationManager.AppSettings["AutoStart"].Equals("true") ? true: false; }