译文链接:https://www.infoworld.com/art...
缓存是一种状态管理机制,通常用于晋升你的应用程序性能,它很大水平上可能缩小一个申请对你系统资源的耗费。
Redis是一个开源的,高性能的,NoSql数据库,它的速度十分快,而且所有的数据都是灌入到内存中,从内存中读写数据的性能开销真的是微不足道,值得一提的是 Redis 采纳的是BSD license,阐明你能够将它用于商业和非商业的用处。
Redis是什么,我为什么要用它?
Redis 是最风行的开源,NoSQL,基于内存的数据存储,而且十分????的是:它的数据存储反对多个数据结构,eg:strings,hashes,sets,lists 等等,Redis外部也提供了对 复制散发 和 事务 的反对,同时在数据长久化方面也做的十分好。
如果你的应用程序须要读取大量的数据,并且你的机器有很多的闲暇内存,在这样的场景下如果你有晋升性能的需要,采纳 Redis 是一个十分好的抉择,将Redis利用到你的程序中操作步骤也是非常简单的,接下来咱们会一起探讨下如何去装置,配置和应用。
装置Redis
本篇探讨下如何在 Windows 平台上装置 Redis,安装包能够到 GitHub: https://github.com/MSOpenTech... 去下载,在装置的过程中,记得勾选一下 add Redis to the PATH environmental variable
,将 Redis的门路增加到环境变量中,等到安装程序执行结束之后,能够通过 Run -> service.msc
到 windows 的服务面板去看下 redis service 是否曾经装置胜利。
应用 Redis Client Sdk
当初 redis 曾经胜利装置到你的零碎中了,接下来你须要一个 client sdk 去连贯 redis server 来读取数据,在上面的例子中,我会应用开源的 ServiceStack
这个sdk,接下来在 Visual Studio 中创立一个 Console 应用程序,而后通过 NuGet packkage manager
来装置 ServiceStack.Redis
。
假设当初 ServiceStack.Redis
曾经通过 NuGet 胜利装置,上面的两个办法展现了连贯 Redis server 来发送和读取数据。
private static bool Save(string host, string key, string value) { bool isSuccess = false; using (RedisClient redisClient = new RedisClient(host)) { if (redisClient.Get<string>(key) == null) { isSuccess = redisClient.Set(key, value); } } return isSuccess; } private static string Get(string host, string key) { using (RedisClient redisClient = new RedisClient(host)) { return redisClient.Get<string>(key); } }
留神 RedisClient 的 Set 和 Get 办法是如何从 Redis 中发送和读取数据的,我筹备留给你一件事件,你能够试着批改一下这两个办法让其反对泛型,这样的话你的两个办法就能够反对任何类型了,对吧。
接下来看一下如何在 Main 办法中调用,代码如下:
static void Main(string[] args) { string host = "localhost"; string key = "IDG"; // Store data in the cache bool success = Save(host, key, "Hello World!"); // Retrieve data from the cache using the key Console.WriteLine("Data retrieved from Redis Cache: " + Get(host,key)); Console.Read(); }
正如我之前所说,Redis的性能特地多,在后续的文章中,我会和大家一起探讨Redis的高级个性,比如说:长久化,公布订阅,失败转移 等等,你也能够利用 RDB (单个压缩文件) 或者 AOF 的形式去长久化数据,那我应该抉择哪一种长久化呢? 你能够在 高性能,长久化,磁盘IO 这些方面综合衡量一下。
如果想理解 Redis 的更多常识,能够参考官网文档: https://redis.io/documentation
对了,如果你想用一个可视化界面去治理 Redis 数据,能够试一下这款工具: Redis Admin UI tool
, 下载地址: https://github.com/ServiceSta...
更多高质量干货:参见我的 GitHub: dotnetfly