拿到一個測試aws賬號開始搗鼓。
aws上可用ElasticCache包括Redis和MemCached,此篇說redis,下篇講MemCached。
其中包括基本的介紹和配置信息入門。
NuGet中下載Amazon.ElastiCacheCluster程序包並引用
在Appconfig中進行相應配置
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也是如此,可能是並不擔心?
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的地方都不需要更改。
