拿到一個測試aws帳號開始搗鼓。html
aws上可用ElasticCache包括Redis和MemCached,此篇說redis,下篇講MemCached。redis
其中包括基本的介紹和配置信息入門。app
NuGet中下載Amazon.ElastiCacheCluster程序包並引用測試
在Appconfig中進行相應配置ui
1 <configSections> 2 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 3 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 4 <section name="clusterclient" type="Amazon.ElastiCacheCluster.ClusterConfigSettings, Amazon.ElastiCacheCluster" /> 5 <section name="membase" type="Membase.Configuration.MembaseClientSection, Membase" /></configSections> 6 <clusterclient> 7 <!-- the hostname and port values are from step 1 above --> 8 <endpoint hostname="{ip地址}" port="6379" /> 9 <!--bigdata-redis.xdnqsx.0001.cnn1.cache.amazonaws.com.cn--> 10 </clusterclient>
Q問題,爲何不能用aws控制檯中的DNS,必需要用ip地址。加密
接着是client中redis connection的修改,代碼實現起來比azure要方便一些,固然aws對加密這一塊作的不如azure,sql 的connection也是如此,多是並不擔憂?spa
1 private static readonly Lazy<ConnectionMultiplexer> LazyConnection = new Lazy<ConnectionMultiplexer>(() => 2 { 3 _logger.Info(LoggerSourceName, "Begin to create Redis connection"); 4 5 //read connection information from storage/configuration-redis/Redis.config 6 string redisConnectionString; 7 redisConnectionString = DANCode1Config.ClusterClientHostname + ":" + DANCode1Config.ClusterClientPort; 8 9 ConfigurationOptions options = ConfigurationOptions.Parse(redisConnectionString); 10 //options.ConnectTimeout = 60 * 1000; 11 options.SyncTimeout = 60 * 1000; 12 options.ResponseTimeout = 60 * 1000; 13 14 15 ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(options); 16 redis.ConfigurationChanged += redis_ConfigurationChanged; 17 redis.ConfigurationChangedBroadcast += redis_ConfigurationChangedBroadcast; 18 redis.ConnectionFailed += redis_ConnectionFailed; 19 redis.ConnectionRestored += redis_ConnectionRestored; 20 return redis; 21 });
配置完後,全部原先讀寫redis的地方都不須要更改。code