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 有容灾措施,数据并不是都写在内存中,还会备份到磁盘中。启动时,会先到对应的磁盘读取数据。
5.在visual studio 中使用Session的共享的 Custom模式实现Redis托管Session的应用。
在 程序包中安装 Harbour.RedisSessionStateStore 包
使用非常简单,首先,搭建好你的Redis环境,将Harbour.RedisSessionStateStore、ServiceStack.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 创建客户端对象的方法
Redis 赋值的方法
取值、cl.GetValue("aKey");
设置Redis 和读取实验
存入
string ww = "value"; stringmsg="";
RedisClient cl = new RedisClient(); //Redis客户端对象
bool b = cl.Add("aKey", ww); //字符串赋值,返回BOOL值
存储成功后不能重复存储(那么怎么更新呢?先删除,再插入?)
取值 cl.GetValue("aKey");
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; }