0

現在、既存のWebアプリケーションをAzureに移動しています。Azureキャッシングは非常に遅いです。

Azureのマルチインスタンス用の代替キャッシュメカニズム(Azureキャッシングよりも優れています)はありますか?たとえば、AzureStorageまたはAzureSQLにキャッシュを保存します。

ご意見ありがとうございます!

追加した

public class AzureCacheService : ICacheService
{
    readonly DataCacheFactory _factory = new DataCacheFactory();

    private readonly DataCache _cache;

    public AzureCacheService()
    {
        _cache = _factory.GetDefaultCache();
    }

    public object Get(string key)
    {
        return _cache.Get(key);
    }

    public void Insert(string key, object obj)
    {
        if (obj != null)
        {
            _cache.Put(key, obj, new TimeSpan(3, 0, 0));
        }
    }

    public void Remove(string key)
    {
        _cache.Remove(key);
    }
}

*** Accessing *** 
IoC.Resolve<ICacheService>().Insert(key, MyObject);

IoC.Resolve<ICacheService>().Remove(key);
4

3 に答える 3

2

一般に、WAキャッシングは遅くありません。特に、「ローカルキャッシング」をオンにした場合(データがメモリに収まる限り、レイテンシは通常約0ミリ秒に短縮されます)。Memcachedは別の可能性です:http://blog.smarx.com/posts/memcached-in-windows-azure

WA CachingとMemcachedのパフォーマンスに桁違いの違いはありませんが、私の経験では、Memcachedの方が少し高速です。ただし、 Memcachedは、WAキャッシングの「ローカルキャッシング」機能に勝るものはありません。これは、文字通りレイテンシがないためです(シリアル化なしのインプロセスデータアクセスです。可能な限り効率的です。)

于 2012-04-27T15:39:09.523 に答える
0

Windows AzureCachingがSQLAzureに基づいているというのは私の誤解でした。リソースを修正した後、それが確実にメモリ内キャッシュであることを確認できました。したがって、SQL Azureを使用して独自に作成する場合は、既に取得しているものよりもはるかに遅くなり、Azureテーブルストレージでも同じことが言えます。[コメントの残りは削除されます]

于 2012-04-27T15:26:01.867 に答える
0

最近リリースされたWindowsAzureCaching(プレビュー)を使用できます。共有キャッシングの対応物の5倍の改善があります。

リンク:http ://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/

于 2012-06-22T12:09:27.207 に答える