Submit Search
Upload
Cloud Design Pattern #1 Cache-Aside_エンジニア勉強会20140917
•
0 likes
•
733 views
エンジニア勉強会 エスキュービズム
Follow
2014/8/1 エスキュービズム社内勉強会時に使用した資料になります。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 10
Download now
Download to read offline
Recommended
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
Naoki (Neo) SATO
SharePoint Server 2016 ハイブリッド検索やってみた
SharePoint Server 2016 ハイブリッド検索やってみた
Hirofumi Ota
CAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Yohei Yamamoto
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
小売りにおけるAIの可能性
エンジニア勉強会 エスキュービズム
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
エンジニア勉強会 エスキュービズム
はじめての品質
はじめての品質
エンジニア勉強会 エスキュービズム
Recommended
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
Naoki (Neo) SATO
SharePoint Server 2016 ハイブリッド検索やってみた
SharePoint Server 2016 ハイブリッド検索やってみた
Hirofumi Ota
CAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Yohei Yamamoto
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
小売りにおけるAIの可能性
エンジニア勉強会 エスキュービズム
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
エンジニア勉強会 エスキュービズム
はじめての品質
はじめての品質
エンジニア勉強会 エスキュービズム
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
エンジニア勉強会 エスキュービズム
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
エンジニア勉強会 エスキュービズム
ほんのりTDD
ほんのりTDD
エンジニア勉強会 エスキュービズム
IoTで何をやったか
IoTで何をやったか
エンジニア勉強会 エスキュービズム
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
エンジニア勉強会 エスキュービズム
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
エンジニア勉強会 エスキュービズム
VRのコンテンツ
VRのコンテンツ
エンジニア勉強会 エスキュービズム
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
エンジニア勉強会 エスキュービズム
レイアウトについて
レイアウトについて
エンジニア勉強会 エスキュービズム
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
エンジニア勉強会 エスキュービズム
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
エンジニア勉強会 エスキュービズム
IoTのIを考えてみる話
IoTのIを考えてみる話
エンジニア勉強会 エスキュービズム
AzureのIaaSとかの話
AzureのIaaSとかの話
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】PMやってみた
【エンジニア勉強会】PMやってみた
エンジニア勉強会 エスキュービズム
Dockerを社内で使うために
Dockerを社内で使うために
エンジニア勉強会 エスキュービズム
Riot.jsに触れてみた話
Riot.jsに触れてみた話
エンジニア勉強会 エスキュービズム
Go言語オーバービュー201507
Go言語オーバービュー201507
エンジニア勉強会 エスキュービズム
Winストアアプリでble接続
Winストアアプリでble接続
エンジニア勉強会 エスキュービズム
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
More Related Content
More from エンジニア勉強会 エスキュービズム
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
エンジニア勉強会 エスキュービズム
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
エンジニア勉強会 エスキュービズム
ほんのりTDD
ほんのりTDD
エンジニア勉強会 エスキュービズム
IoTで何をやったか
IoTで何をやったか
エンジニア勉強会 エスキュービズム
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
エンジニア勉強会 エスキュービズム
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
エンジニア勉強会 エスキュービズム
VRのコンテンツ
VRのコンテンツ
エンジニア勉強会 エスキュービズム
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
エンジニア勉強会 エスキュービズム
レイアウトについて
レイアウトについて
エンジニア勉強会 エスキュービズム
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
エンジニア勉強会 エスキュービズム
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
エンジニア勉強会 エスキュービズム
IoTのIを考えてみる話
IoTのIを考えてみる話
エンジニア勉強会 エスキュービズム
AzureのIaaSとかの話
AzureのIaaSとかの話
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】PMやってみた
【エンジニア勉強会】PMやってみた
エンジニア勉強会 エスキュービズム
Dockerを社内で使うために
Dockerを社内で使うために
エンジニア勉強会 エスキュービズム
Riot.jsに触れてみた話
Riot.jsに触れてみた話
エンジニア勉強会 エスキュービズム
Go言語オーバービュー201507
Go言語オーバービュー201507
エンジニア勉強会 エスキュービズム
Winストアアプリでble接続
Winストアアプリでble接続
エンジニア勉強会 エスキュービズム
More from エンジニア勉強会 エスキュービズム
(20)
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
ほんのりTDD
ほんのりTDD
IoTで何をやったか
IoTで何をやったか
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
VRのコンテンツ
VRのコンテンツ
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
レイアウトについて
レイアウトについて
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
IoTのIを考えてみる話
IoTのIを考えてみる話
AzureのIaaSとかの話
AzureのIaaSとかの話
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】PMやってみた
【エンジニア勉強会】PMやってみた
Dockerを社内で使うために
Dockerを社内で使うために
Riot.jsに触れてみた話
Riot.jsに触れてみた話
Go言語オーバービュー201507
Go言語オーバービュー201507
Winストアアプリでble接続
Winストアアプリでble接続
Recently uploaded
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Recently uploaded
(9)
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Cloud Design Pattern #1 Cache-Aside_エンジニア勉強会20140917
1.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. Cloud Design Pattern#1 Cache-Aside 2014/8/1 http://azure.microsoft.com/ja-jp/
2.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. カテゴリ 可用性 データ管理 設計および実装 メッセージング 管理および監視 パフォーマンスおよびスケーラビリティ 回復性 セキュリティ
3.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 概要 データストアからオンデマンドにキャッシュ読み込みを 行います。 「データストアアクセスは、必要なときだけ」 キャッシュとデータストアの整合性を維持します。
4.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 課題と背景 アプリは、アクセスを最適化しなければならない ⇒キャッシュの提供
5.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 課題と背景 Cash Asideパターンでは、リードスルーなキャッシング をエミュレートするデザインパターンです。 リードスルー? キャッシュ データストア 読み込み要求 ある? ないよ。 ある? 保持 http://hiro2matome.seesaa.net/article/401763234.html
6.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. いつ使うか? キャッシュがリードスルー操作等を標準装備し ていない場合。 リソースの需要が予測できない場合。 「キャッシュ作り込みたいんだけど、がっつりメモリ食いそう なんだよね。。」な時 オンデマンドなので、必要に応じてキャッシング。
7.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 実装 Microsoft Azureでは、Azure Cacheを利用して CasheAsideパターンを実装可能です。 http://azure.microsoft.com/ja-jp/services/cache/ http://redis.io/
8.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. エラーでRedis作れなかった。。
9.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 実装 private DataCachecache; public asyncTask<MyEntity> GetMyEntityAsync(intid){ varkey = string.Format("StoreWithCache_GetAsync_{0}", id); varexpiration = TimeSpan.FromMinutes(3); boolcacheException= false; try { // キャッシュにヒットすれば、Entity取得 varcacheItem= cache.GetCacheItem(key); if(cacheItem!= null){ return cacheItem.Valueas MyEntity; } } catch (DataCacheException){ cacheException= true; } // キャッシュにヒットしていない場合 // データストアからEntity取得 varentity = xxx.GetMyEntityFromDataStore(key); if(!cacheException) { try { if(entity != null) { // キャッシュする cache.Put(key, entity, timeout: expiration); } } catch ....// 略 } return entity; }
10.
Copyright © 2014
by S-cubism Technology Inc. All rights reserved. 留意事項 1.アプリのアクセス特性⇔キャッシュ有効期間 2.整合性は完全には担保されていない
Download now