.NET 下第一次接触Redis数据库
2015-07-05 12:28
741 查看
关于Redis
1.简介[/b]Redis是著名的NOSQL(Not Only SQL)数据库,是键值对结构。(我只用过键值对结构的)
他为存储键值对做了优化,在大型网站中应用广泛。Redis提供了数据的自动过期处理,而且支持集群。
适合临时存储数据,和存储一些离散的数据。
2.用途[/b]
Redis可以存储一些临时数据。可以存储一些,某一时刻有意义,但是又不值得存入数据库的数据。
同时,对于数据统计来说,用户的一次点击,一次登录,都是有意义的。但是这些大量的离散的,单个拿出来毫无意义的数据,显然不适合存储在关系型数据库中。Redis提供了解决这种问题的方案。
3.环境[/b]
说明: Redis服务器有Linux、Windows版,Linux版性能好适合生产环境,在自己的windows电脑上配只是为了学习。 不用太较真。
1)Windows下Redis服务器的安装:解压redisbin_x32.zip到硬盘;
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/88903a6c70bc6dad4fa4dc980c4cbc18.png)
2)安装RedisWatcher(把Redis运行为系统服务,如果安装过程有问题,直接执行redis-server 也可以),
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/df1a4c011b13c5a9b2ba72a5c9940131.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/d1921d104d1151a922af178732b71009.png)
3)然后配置RedisWatcher安装目录下的watcher.conf指向redis-server 的路径,然后到Windows 服务中启动RedisWatch。 注意watcher.conf只能用高级文本编辑器打开。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/c3d7152034e6aa5d6d3e0e82ba275182.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/5555b7b6bdbf041ce0c8592f2a81a64a.png)
4)在项目中引用
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/17/fd6c931e66072407f65c113d60d25373.png)
如果想使用Redis数据库,需要在项目中添加如上的四个引用。
OK,准备工作到此,全部完成。我们开始使用的demo。
使用
1.相当于配置文件的类。public class RedisManager
{
//注意,这个属性的写法是{ get; private set; } 外部不可写入。
public static PooledRedisClientManager ClientManager { get; private set; }
static RedisManager()
{
RedisClientManagerConfig redisConfig = new RedisClientManagerConfig();
redisConfig.MaxWritePoolSize = 128;
redisConfig.MaxReadPoolSize = 128;
/*读写分离。多台Redis组成集群
注意前两个参数,参数1表示,读写Redis的服务器地址,为字符串数组,支持多个地址,也就是支持集群。
参数2表示,读Redis的服务器,同样支持集群。
*/
ClientManager = new PooledRedisClientManager(new string[] {"127.0.0.1"},
new string[] {"127.0.0.1"}, redisConfig);
}
}
2.保存和读取
static void Main(string[] args)
{
using (IRedisClient client = RedisManager.ClientManager.GetClient())
{
//1.设置读取int对象
client.Set<int>("age",18);
client.Get<int>("age");
//2.设置读取sting对象
client.Set<string>("name","jim");
string name = client.Get<string>("name");
//3.设置读取Dictionary对象
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("aaa", "bbb");
client.Set<Dictionary<string, string>>("dict",dict);
client.Get<Dictionary<string,string>>(dict);
//4.赋值时,设置失效时间。
client.Set<string>("name", "rupeng", DateTime.Now.AddSeconds(30))
}
}
相关文章推荐
- redis源码分析实践
- redis主动向页面push数据
- redis主动向页面push数据
- Redis RDB文件结构
- tomcat redis session 共享
- Redis Mac 安装及简单命令使用
- installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable on a syst
- 基于nginx tomcat redis分布式web应用的session共享配置
- centos 6.3 & redis install
- Redis本地环境搭建
- Redis配置文件详解
- Redis基本操作-20150608
- Redis操作命令
- 豌豆夹Redis解决方案Codis源码剖析:Proxy代理
- 豆瓣Redis解决方案Codis源码剖析:Proxy代理
- 缓存框架——Redis(一)
- 缓存框架——Redis(一)
- Redis
- Redis源代码分析(23)--- CRC循环冗余算法RAND随机数的算法
- 借助共享缓存redis实现分布式锁