学到Redis中须要整理和配置的东西比较多,资源也是比较分散!此次的主要仍是将知识整合一下,开发过程当中所须要的资源整合一下,也方便从此涉及到这块地方的知识时,将时间大量浪费在了找这些资源上了!html
redis主要是用于存储键值对数据(主要对这进行了优化)的一种数据库,而且对数据进行了自动过时处理。和memcached不一样之处在于,redis数据存在本机硬盘上,而memcached则是将数据存在内存中。linux
redis有Windows版和linux版,日常测试开发基本使用Windows版,在正式项目开发过程当中,通常用linuxgit
关于redis的安装(Windows版)能够参考官方教程配置,github
这个是经过server.exe启动的:http://www.redis.net.cn/tutorial/3503.htmlredis
win64能够下载这个带服务的(后缀是.msi):https://github.com/MSOpenTech/redis/releases数据库
win32下载选择适合版本:https://github.com/MSOpenTech/redis/releases?after=win-2.8.2102memcached
.net驱动:https://github.com/ServiceStack/ServiceStack.Redis/tree/master/lib工具
驱动须要下载下列四个:测试
三.代码链接Redis:优化
根据业务的不一样,进行相应的链接配置,这里介绍的是最简单的链接配置:
class RedisManager { public static PooledRedisClientManager clientManager { get; private set; } static RedisManager() { RedisClientManagerConfig clientMangerConfig = new RedisClientManagerConfig(); clientMangerConfig.MaxWritePoolSize = 128; clientMangerConfig.MaxReadPoolSize = 128; clientManager = new PooledRedisClientManager( new string[] { "127.0.0.1" }, new string[] { "127.0.0.1" }, clientMangerConfig); } }
设置和读取值:
using(client = RedisManager.clientManager.GetClient()) { string str= client.Set<string>("key","value",expireTime);//括号中第一个参数键,第二个值是值,第三个是过时时间 }
关于Redis知识也能够参考这篇博客,确实也写的挺好:http://www.cnblogs.com/yangecnu/p/Introduct-Redis-in-DotNET.html
四.消息队列:
到底什么是消息队列?
答:来个我的通俗的解释吧。消息队列,顾名思义 首先是个队列。
队列的操做有入队
和出队
也就是你有一个程序在产生内容而后入队(生产者)
另外一个程序读取内容,内容出队(消费者)
生产数据:
1 static void Main(string[] args) 2 { 3 IRedisClient client; 4 using (client = RedisManager.clientManager.GetClient()) 5 { 6 while (true) 7 { 8 string line = Console.ReadLine(); 9 client.EnqueueItemOnList("redistest", line); 10 if (line == "ok") 11 { 12 break; 13 } 14 } 15 } 16 Console.ReadKey(); 17 }
消费数据:
static void Main(string[] args) { using (var client = RedisManager.clientManager.GetClient()) { while (true) { string str = client.DequeueItemFromList("redistest"); if (str == null) { Console.WriteLine("没有找到数据"); Thread.Sleep(10000); continue; } else { Thread.Sleep(5000); Console.WriteLine(str); } } } }
注:这里能够大量生产数据,而消费者能够慢慢的消费生产的数据
五.Redis数据库管理工具及使用过程当中注意事项:
Redis数据库管理工具:http://redisdesktop.com/download
能够方便的看到redis Key中存储的各类类型的值。
使用Redis时需注意:
1.当不少数据往Redis中写入时,要避免键冲突:键冲突会使得相同名称的键的值会被覆盖掉。
避免键冲突:例如能够适当给键的名称加个前缀
2.Redis是你们共享存储的键值对存储空间,A写入的,B是能够读出来的;A写入的,B也是能够进行覆盖掉的