這篇文章我將介紹若是用最簡潔的方式配置Redis Server,git
以及如何使用C#和它交互編程github
一. 背景介紹redis
Redis是最快的key-value分佈式緩存之一編程
缺點: 沒有本地數據緩衝, 目前尚未完整的數據彙集化支持windows
優勢: 配置簡單, 使用方便, 高性能,支持不一樣的數據類型(hashes, lists, sets, sorted sets)緩存
ASP.NET WebUI for viewing content of the cache分佈式
二. 安裝Redis性能
1) 從github下載最新的32/64位安裝ui
https://github.com/dmajkic/redis/downloadsthis
解壓到你本身的目錄
eg: d:\RedisServer
2) 從github下載Redis服務程序
dll手工版
https://github.com/kcherenkov/redis-windows-service/downloads
安裝版
https://github.com/rgl/redis/downloads
拷貝到RedisServer的安裝目錄
eg: d:\RedisServer
3) 安裝redis服務
進入你的應用程序目錄,運行下面的命令
sc create %name% binpath= "\"%binpath%\" %configpath%" start= "auto" DisplayName= "Redis"
%name% -- name of service instance, ex. redis-instance;
%binpath% -- path to this project exe file, ex. C:\Program Files\Redis\RedisService_1.1.exe;
%configpath% -- path to redis configuration file, ex. C:\Program Files\Redis\redis.conf;
sc create my-redis binpath= "\"D:\RedisServer\RedisService_1.1.exe\" D:\RedisServer\redis.conf" start="auto" DisplayName= "MyRedis"
4) 基本配置
redis.conf
# requirepass foobared
去掉註釋,重啓服務
這樣實例化一個Redis服務的時候,就須要密碼
RedisClient client = new RedisClient(serverHost, port, redisPassword);
Redis server replication (master - slave配置)
# slaveof <masterip> <masterport>
eg:
slaveof 192.168.1.1 6379
三. 客戶端編程
1) 安裝Redis包
2) 簡單例子
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceStack.Redis; using System.Threading; namespace Zeus.Cache.Redis.Demo { public class SimpleRedisDemo { public void SimpleDemo() { string host = "localhost"; string elementKey = "testKeyRedis"; using (RedisClient redisClient = new RedisClient(host)) { if (redisClient.Get<string>(elementKey) == null) { // adding delay to see the difference Thread.Sleep(2000); // save value in cache redisClient.Set(elementKey, "default value"); } //change the value redisClient.Set(elementKey, "fuck you value"); // get value from the cache by key string message = "Item value is: " + redisClient.Get<string>(elementKey); Console.WriteLine(message); } } } }
運行結果: