.net Redisキャッシュの最適化により、読み込み速度とサーバーのパフォーマンスが向上します(2)

毎回データベースを読み取り、キャッシュを介してインターフェースを読み取るインターフェースのパフォーマンスは、上記で詳細にテストされています

ここでは実際の導入を準備します元のデータベースをRedisキャッシュ最適化インターフェースに追加します

1. RedisおよびRedisビュー管理ツールをダウンロードする

クリックして抽出コードをダウンロード:9tgg       バックアップダウンロードアドレス

ダウンロード後、まずRedisをインストールしてから、Redisビュー管理ツールをインストールします

開いた後、次の画像を入力してください

必要なソフトウェアをインストールした後、ソフトウェアの変更を開始します

まず、プロジェクトにStackExchange.Redis.dll参照を追加する必要があります

このファイルはNugetでダウンロードするか、以下に提供するバージョンを使用できます。

nuget右クリックプロジェクトを使用してnugetパッケージを管理する場合は、右上隅にある[参照]を選択します。

検索ボックスに「Redis search」と入力し、StackExchange.Redisを見つけます。

私のmvcは.netFramwork4.5に依存しているため、以下のバージョン依存要件があることに注意してください。ここにインストールするために、比較的低いバージョン1.1.608を選択しました

もちろん、ダウンロードdllを使用して、右クリックして追加することでdllを追加することもできます

クリックして抽出コードをダウンロード:jcs1    代替ダウンロードアドレス

必要なdllを追加したら、操作を簡略化するためにRedisHelperを追加する必要があります

 

RedisHelperをプロジェクトにコピーする

クリックして抽出コードをダウンロード:u25p     代替ダウンロードアドレス

 

コピーした後、名前空間をプロジェクトの名前空間アドレスに変更してください。dll参照が利用できない場合は、対応する参照を追加してください。

ヘルパーがweb.confgデータベース接続アドレスにアドレスを書き込むため

したがって、web.configに次のコードを追加してください

 <connectionStrings>
    <add name="RedisExchangeHosts" connectionString="127.0.0.1:6379,allowadmin=true"/>
  </connectionStrings>

追加が完了すると、Redisへの参照は基本的に完了します

これでコントローラーにRedisコードを追加できます

 RedisHelper redis = new RedisHelper(1);

これはRedisを初期化することです。1は2番目のデータベースに接続することを意味し、0の場合は最初のデータベースに接続することを意味します

使用法コードは次のとおりです。

 using (MiniProfiler.Current.Step("开始加载数据:"))
            {
                try
                {
                    //判断是否走缓存加载全场折扣
                    if (redis.StringGet<AllDiscount>("AllDiscount" + shopid) != null)
                    {
                        MiniProfiler.Current.Step("从Redis服务器中加载数据:");
                        allDiscount = redis.StringGet<AllDiscount>("AllDiscount" + shopid);
                    }
                    else
                    {
                        MiniProfiler.Current.Step("从MSSQL服务器中加载数据:");
                        allDiscount = ds.GetModel<AllDiscount>(m => m.Entid == shopid && m.Isopen == true && m.StartDate <= now && m.EndDate >= now);
                        redis.StringSet<AllDiscount>("AllDiscount" + shopid, allDiscount, TimeSpan.FromHours(2));
                    }

                }
                catch (Exception e)
                {
                    MiniProfiler.Current.CustomTiming("Errors:", "Redis服务未启用,请开启该服务,并且请注意端口号,本项目使用的的6319,而且我的是没有设置密码。" + e.Message);
                    allDiscount = ds.GetModel<AllDiscount>(m => m.Entid == shopid && m.Isopen == true && m.StartDate <= now && m.EndDate >= now);
                    



                }
            }

この書き込みのRedisの研究では、ロットと呼ばhttps://www.cnblogs.com/cang12138/p/8884362.html  このブロガーのブログを、プレイはまだ、この提案を見て行き、その後、理解していないかどうかを確認するために、これを読んで記事は、ブロガーのQQ:864015769を歓迎しますが、ブロガーは小さな鶏でもあります(私に電話するときに注意してください。そうしないと、ブロガーが同意しない可能性があります)。

公開された29元の記事 ウォン称賛11 ビュー10000 +

おすすめ

転載: blog.csdn.net/u010840685/article/details/103275746