Submit Search
Upload
Redis勉強会資料(2015/06 update)
•
Download as PPTX, PDF
•
176 likes
•
52,643 views
Yuji Otani
Follow
Redis勉強会の資料です。2013年に初版をアップしました。2015年6月にRedis-Clusterの内容を追記して再アップを行っています。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 103
Download now
Recommended
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Recommended
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Tetsutaro Watanabe
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
グラフデータベース入門
グラフデータベース入門
Masaya Dake
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
Yuto Komai
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
Yuji Otani
More Related Content
What's hot
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Tetsutaro Watanabe
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
グラフデータベース入門
グラフデータベース入門
Masaya Dake
What's hot
(20)
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
JIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだ
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
Docker Compose 徹底解説
Docker Compose 徹底解説
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
グラフデータベース入門
グラフデータベース入門
Viewers also liked
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
Yuto Komai
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
Yuji Otani
HBase at LINE
HBase at LINE
Shun Nakamura
Norikra Recent Updates
Norikra Recent Updates
SATOSHI TAGOMORI
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
Etsuji Nakai
MySQL
MySQL
paulowniaceae
Redisととあるシステム
Redisととあるシステム
Takehiro Torigaki
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
Emma Haruka Iwao
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
Masahiro Hidaka
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Yuji Otani
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
LINE Corporation
Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)
CLOUDIAN KK
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Masahiro Nagano
Viewers also liked
(14)
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
HBase at LINE
HBase at LINE
Norikra Recent Updates
Norikra Recent Updates
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
MySQL
MySQL
Redisととあるシステム
Redisととあるシステム
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Similar to Redis勉強会資料(2015/06 update)
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
melonDesignerの説明
melonDesignerの説明
Hisashi Sakai
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
naoki ando
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
Rakuten Commerce Tech (Rakuten Group, Inc.)
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
Recruit Technologies
TEPCO電力需要予測コンテスト
TEPCO電力需要予測コンテスト
ReNom User Group
事業企画
事業企画
teradonburi Terai
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
Kaz Aiso
SRE 1st steps
SRE 1st steps
Yuta Shimada
非エンジニアのためのIt業界
非エンジニアのためのIt業界
Hideto Masuoka
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
Yasushi Ishikawa
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
正善 大島
浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621
Satoshi Maeda
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
33rpm
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について
TomomitsuKusaba
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
Tokusei Noborio
株式会社ワークスアプリケーションズ お客様事例
株式会社ワークスアプリケーションズ お客様事例
LinkedIn Japan / リンクトイン・ジャパン
Similar to Redis勉強会資料(2015/06 update)
(20)
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
melonDesignerの説明
melonDesignerの説明
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
TEPCO電力需要予測コンテスト
TEPCO電力需要予測コンテスト
事業企画
事業企画
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
SRE 1st steps
SRE 1st steps
非エンジニアのためのIt業界
非エンジニアのためのIt業界
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
浪江町ハッカソンインプットセミナー20140621
浪江町ハッカソンインプットセミナー20140621
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
株式会社ワークスアプリケーションズ お客様事例
株式会社ワークスアプリケーションズ お客様事例
More from Yuji Otani
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
Yuji Otani
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
Yuji Otani
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
Yuji Otani
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Yuji Otani
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Yuji Otani
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Yuji Otani
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
Yuji Otani
Phalcon勉強会資料
Phalcon勉強会資料
Yuji Otani
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
Yuji Otani
Nginx勉強会
Nginx勉強会
Yuji Otani
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
負荷分散勉強会
負荷分散勉強会
Yuji Otani
NoSQL勉強会
NoSQL勉強会
Yuji Otani
Php5 4勉強会
Php5 4勉強会
Yuji Otani
More from Yuji Otani
(19)
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
Phalcon勉強会資料
Phalcon勉強会資料
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
Nginx勉強会
Nginx勉強会
PHP基礎勉強会
PHP基礎勉強会
負荷分散勉強会
負荷分散勉強会
NoSQL勉強会
NoSQL勉強会
Php5 4勉強会
Php5 4勉強会
Recently uploaded
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(7)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Redis勉強会資料(2015/06 update)
1.
Redis勉強会資料 (Redis Cluster 追記版) 株式会社インテリジェンス 大谷
祐司
2.
・山口県下関出身の34歳 ・インテリジェンスの新規事業チームの開発責任者。 ・企画からアプリ、インフラまで幅広くやっています。 ・車とプログラミングを愛しています。 ・土日は育児しながら勉強しています。 ・Facebookの友達申請は気軽にぜひ! https://www.facebook.com/yuji.otani.16 自己紹介
3.
はじめに 今回の勉強会は最近注目のRedisがテーマです。 インテリジェンスでも採用実績が増えていますので、 しっかりと理解していきましょう。
4.
アジェンダ ・Redisの歴史 ・Redisの特徴 ・アーキテクチャ ・Redisのデータ型 ・バージョンアップと機能追加
5.
アジェンダ ・Redisの設定ファイル ・PHPからRedisを操作する ・社内での活用事例 ・おまけ:phpredisでできること
6.
Redisの歴史
7.
Redisの歴史 2009年にSalvatore Sanfilippoというイタリアの技 術者によって開発されました。 2010年からVMWareが支援を行っています。 ANSI C言語で書かれています。
8.
採用実績(日本) DeNA サイバーエージェント ニコニコ動画 GMO LINE
9.
採用実績(海外) github.com flicker.com twitter.com intasgram.com stackoverflow.com
10.
AWSもRedisを提供
11.
AWSもRedisを提供 2013年9月からAWSの標準キャッシュに採用。 Memcached or Redisを選択可能に。 ElastiCache
12.
Redisの特徴
13.
シングルスレッド Redisはシングルスレッドで動作します。 MySQLのように複数の処理を並列で行う事は不可能です。 必然的に、全てのデータ操作は排他的になります。 Redis コマンド コマンド コマンド コマンド 1スレッドで 順番に処理
14.
データベースの構造 Redis DB Key-Value Key-Value Key-Value Key-Value DB IDを指定して複数のDBを持つ事ができます。 各DBは独立してキーと値を保持できます。 Key-Value Key-Value Key-Value Key-Value
15.
高いパフォーマンス 全てのデータセットをメモリ内に読み込む 高速なデータアクセスを実現 ※メモリはHDDの10万倍早い。
16.
高いパフォーマンス 複数の操作を1回で実行可能 アプリケーション ⇔ Redis間の通信量を削減 コマンド コマンド コマンド 実行
17.
データ構造のサポート ・5種類の型を値として扱う事ができる。 ・値を計算して戻す事ができる。 ※LUAスクリプティング/セット型の集合演算 複雑なデータ構造の保持や計算を Redisに任せる事が可能
18.
メモリを使い果たしたら? 仮想メモリ(HDD)を使ってメモリ拡張 バージョン2.6以降は廃止。
19.
メモリを使い果たしたら? 特定のルールに従って削除 5つのパターンから設定可能 ※設定ファイル:maxmemory-policy
20.
メモリオーバー時の削除ルール ① LRUアルゴリズムを使用し、期限切れになったキーを削除 ② LRCアルゴリズムに従い、どれかのキーを削除 ③
期限切れになったセットの中から、ランダムにキーを削除 ④ どれかのキーをランダムに削除 ⑤ 一番期限に近いキーから削除 ※LRUアルゴリズム →未使用の時間が最も長いデータを抽出する。
21.
メモリを使い果たしたら? それでもメモリを確保できないときは、 書き込みが全てエラーになります。
22.
レプリケーション MASTER-SLAVEのレプリケーション構築が可能。 MASTERは複数台のSLAVEを設定できる。 MASTER SLAVE SLAVE SLAVE
23.
レプリケーション Redisのレプリケーションは非同期。 Master-Slaveでデータの差分が出る事がある。 データの特性によって参照先の選択が必要。
24.
レプリケーション Redisのレプリケーションはマルチマスタではない。 参照系、更新系、データ特性などによって、 正しくクエリを振り分ける事が重要!
25.
データ永続化(バックアップ) ①SAVE/BGSAVE ⇒DBのフルダンプ(RDB = Redis
DataBase)を作成。 SAVE/BGSAVE Redis RDB 全データ
26.
データ永続化(バックアップ) ②AOF(Append Only File) ⇒コマンド実行ログ。ここからデータ復元可能。 コマンド Redis
AOF コマンド
27.
トランザクション 複数コマンドを纏めて実行 ・アトミックな操作の保証(他の処理をブロック) ・MULTIでトランザクション開始 ・全て実行(EXEC) or 全て未実行(DISCARD) MULTI コマンド コマンド コマンド EXEC(実行) DISCARD(未実行) or
28.
Slow-Logの出力 設定の閾値よりも遅いクエリをメモリに記録。 秒数を指定してSLOWLOGコマンドを実行 遅いクエリの一覧を取得
29.
コマンド実行状況の確認 MONITORコマンド実行 受け取ったコマンドを無限にダンプ (QUITコマンドで終了) コマンドの実行状況を把握できる。
30.
Luaスクリプティング スクリプト言語「Lua」をRedis上で実行可能。 予めRedisにスクリプトを登録する事ができる。 動作はアトミック(他の操作をブロックする) 高度な計算をRedisで実行可能
31.
Luaスクリプティング 実行中は他のリクエストをブロックする。 時間が長い処理を行うのは危険。
32.
Redis Sentinel Redisプロジェクトで開発されている管理サーバ 死活監視/通知/自動フェイルオーバーを実現 V2.4.16以降で利用可能
33.
シャーディング Redis単体ではシャーディング不可能。 (クライアントライブラリで実現可能) Redis-Clusterで実現可能になる予定。
34.
Redis-Cluster ・インスタンスのデータノード化 ・対障害性 ・柔軟なスケーリング ・現在開発中 http://redis.io/topics/cluster-spec
35.
アーキテクチャ
36.
Redisのアーキテクチャ Redisはイベント駆動アーキテクチャで動作。 シングルスレッドで大量のリクエストを処理します。
37.
Redisの動作イメージ 1プロセス/1スレッドで動作 Redis コマンド コマンド コマンド コマンド 1スレッドで 順番に処理
38.
Redisのアーキテクチャ 1台のサーバで複数コアを活用するには? 同一サーバに複数台のRedisを立ち上げ、 別サーバとして動かす事を推奨。 http://redis.io/topics/faq RedisはCPUの1コアのみを使用します。
39.
Redisのデータ型
40.
Redisには5つのデータ型があります。 各データ型について紹介します。
41.
文字列型 ・全てのデータの基本となる型。 ・バイナリセーフで、どんな値でも扱える。 ・最大1Gまで扱える。 Orange
42.
リスト型 ・文字列型のリスト。 ・先頭又は末尾に値の追加が可能。 ・リスト長をキャッシュして、高速に取得可能 Apple Orange Lemon
Kiwi Peach 1 2 3 4 5 値を順番に保持
43.
セット型 ・文字列型の順不同の集合。 ・同じメンバを重複して登録する事はできない。 ・集合演算用コマンドが使用できる。 Apple Orange Lemon Kiwi Peach 値を順不同で保持
44.
セット型の集合演算用のコマンド 積集合(SINTER)
45.
和集合(SUNION) セット型の集合演算用のコマンド
46.
差集合(SDIFF) セット型の集合演算用のコマンド
47.
ソート済みセット型 ・文字列型の集合。 ・「スコア」の値でソートされた順位を持っている。 ・同じメンバを重複して登録する事はできない。 ・スコアの値、順位で範囲検索が可能。 Apple スコア:10 Orange スコア:30 Lemon スコア:50 Kiwi スコア:70 Peach スコア:90 1 2 3
4 5 値をスコアの大きさ順に保持
48.
同じスコアの場合の順位は? 同一順位が複数できるのではなく、 ランダムの順位になります。 ※この問題はRedis3.0で対応予定です。 https://github.com/antirez/redis/issues/943
49.
ハッシュ型 ・順番がない文字列型のフィールドと値のマップ。 ・フィールド値での検索が可能。 ・値を指定しての検索は不可能。 Apple Orange Lemon Kiwi Peach A B C DE 値とキーをセットで保持
50.
バージョンアップと機能追加
51.
初回リリース:2009年2月
52.
Ver2.0リリース:2010年9月 ・ 仮想メモリのサポート ⇒実メモリに乗り切らないデータをディスクへ書き出す ※2.4で非推奨になる⇒2.6で完全に削除。 ・ ハッシュ型の追加 ⇒1つのキー上に複数のkey/valueを持てる
53.
Ver2.0リリース:2010年9月 コマンド追加 ・ トランザクションが利用可能に(MULTI/EXEC) ・ 複数キーから値を取得する(BLPOP/BRPOP) ・
非同期メッセージング(PUBLISH/SUBSCRIBE)
54.
Ver2.2リリース:2011年2月 ・ SlowLogのサポート ・ コマンドで文字列を配列として利用可能に。 (SETBIT/GETBIT/SETRANGE/GETRANGE/STRLEN)
55.
Ver2.4リリース:2011年10月 ・ 「OBJECT」コマンドの追加 (設定値の参照数、型、操作されていない時間を確認) ・ 「CLIENT」コマンドの追加 (接続のkill、接続先一覧、接続先名称の設定/取得) ・
スレーブ接続がノンブロッキングになる
56.
Ver2.4リリース:2011年10月 ・ jemallocによるメモリ断片化問題の回避 ・ データバックアップ(RDB)の高速化 ※jemalloc→動的メモリ確保を行う関数
57.
Ver2.6リリース:2012年10月 ・ Luaスクリプティング(evalコマンド)サポート ・ EXPIREがミリ秒単位の指定に対応 ・
クライアントの接続上限数が無くなった ・ Redis Clusterに向けたコア部分の修正
58.
Ver2.6リリース:2012年10月 ・ クラッシュレポートの改善 ・ 統合メモリテスト機能 ・
データのシリアライズ/デシリアライズ ・ SLAVEがデフォルトで更新不可に
59.
Ver2.6リリース:2012年10月 ・ 「PTTL」コマンド追加 (キーの生存期間をミリ秒で取得) ・ 「BITCOUNT」コマンド追加 (文字列のビット数を取得) ・
「BITOP」コマンド追加 (文字列のビット操作を行う)
60.
Ver2.8リリース:2013年11月 ・ 部分的なレプリケーションの再同期 ・ IPV6サポート ・
Redis Sentinelへの対応 (死活監視/フェイルオーバー)
61.
Ver3.0リリース:2015年3月 ・ Redis Clusterへの対応。 ・
WAITコマンドの追加。 ・ LRUアルゴリズムの改善。
62.
Redisの設定
63.
起動方式 daemonize ⇒デーモンとして起動 pidfile ⇒デーモン起動時のpidファイル位置
64.
接続オプション port ⇒接続ポート bind ⇒接続元の制限
65.
接続オプション timeout ⇒コネクションのタイムアウト秒数 requirepass ⇒接続パスワード
66.
ログ関連 loglevel ⇒出力ログのレベル。 logfile ⇒ログの出力先。
67.
データバックアップ save ⇒データベースをディスクに保存するタイミング save <seconds> <changes>(複数設定可能) rdbcompression ⇒ダンプデータの圧縮。 dbfilename ⇒ダンプデータファイル名
68.
動作環境 dir ⇒作業用のファイル出力先。 databases ⇒データベース最大数
69.
レプリケーション(SLAVE) slaveof ⇒マスターサーバのホスト、ポート。 masterauth ⇒マスターに接続する際のパスワード
70.
レプリケーション(SLAVE) slave-serve-stale-data ⇒レプリケーションが壊れたとき、SLAVEのみで 動作するか。 repl-ping-slave-period ⇒slaveからmasterにpingを送る間隔 slave-read-only ⇒slaveを読み取り専用にするか。
71.
レプリケーション(SLAVE) repl-timeout ⇒マスタデータ受信時のタイムアウト(秒) slave-priority ⇒マスタ昇格するスレーブを選択する際の優先度。 repl-disable-tcp-nodelay ⇒TCP_NODELAY を無効化するか ※TCP_NODELAY →Linux におけるソケット機能を向上させる。
72.
セキュリティ requirepass ⇒アクセス用のパスワード rename-command ⇒危険なコマンドを実行されないように、コマンドを独自 のものに設定できる。
73.
DB設定 maxclients ⇒最大クライアント数 maxmemory ⇒最大メモリ使用量
74.
DB設定 maxmemory-policy ⇒最大メモリに達した時、何から削除していくか maxmemory-samples ⇒最大メモリに達したときに削除を行う際、 チェックを行うサンプル数 (このサンプルの中で該当した物を削除する)
75.
Slow-Log slowlog-log-slower-than ⇒ログ出力の閾値 slowlog-max-len ⇒ログの最大サイズ
76.
高度な設定 glueoutputbuf ⇒レスポンス時に小さな出力バッファを繋げて パフォーマンスを上げる。 activerehashing ⇒メインハッシュテーブルの再ハッシュ化を行 う。メモリを効率的に使えるが、最大で2ミリ秒 の遅延が発生。
77.
Cluster設定 cluster-enabled ⇒Clusterの利用 cluster-config-file ⇒Cluster設定ファイル cluster-node-timeout ⇒ノード間通信のタイムアウト時間
78.
RedisClusterの活用
79.
79 ・クラスタリングとは。 ・Redis Clusterの特徴は? ・実際に使ってみてどうだったか? Redis Clusterについて
80.
80 ・複数台の「アクティブな」サーバでDBを構成する。 ・データの冗長性や処理の負荷分散を実現できる。 ・サーバの台数を増やしてシステムの拡張を行う事ができる。 ・逆にサーバの台数を減らす事も可能。 クラスタリングとは?
81.
81 ・複数台で分散してデータを持つ(シャーディング) ・同じデータは複数台で持たない。 ・ノード毎にMaster-Slave構成が可能 (障害時はSlaveがMasterに自動で昇格) ・ノードを追加/削除した際にリシャーディンングが可能。 Redis Clusterの特徴
82.
82 Redis Clusterの構成例 Internet LB ①命令をルールで 均等に分散 ②命令を実行する ③Slaveにデータを バックアップ (1サーバに3つの Redisが起動) nginx nginx nginx
83.
83 ・ノードに0-16384の数字(slot)を割り振る。 ・リクエストのキーを計算して、対象のサーバを判別する。 [HASH_SLOT = CRC16(key)
mod 16384] クラスタリングの概要 [slot 0-5460] [slot 5461-10922] [slot 10923-16383] ①サーバを選んで命令 ②対象のサーバを判別して命令を転送 node1 node2 node3③命令を実行して結果を返す
84.
PHPからRedisを操作する
85.
フレームワークの対応 ⇒Redisentベースのライブラリが付属。 その他主要なフレームワーク ⇒ライブラリを使用する必要があります。
86.
PHPには様々なRedisライブラリが存在します。
87.
phpredis 作者: Nicolas Favre-Felix(Acunu) 国:イギリス PHP
Ver:5以上 URL:https://github.com/nicolasff/phpredis 記述言語:C ライセンス: PHP License, version 3.01
88.
Predis 作者:ダニエレ・アレッサンドリ(nrk) 国:イタリア PHP Ver:5.3以上 URL: https://github.com/nrk/predis 記述言語:PHP ライセンス:MIT
89.
Redisの活用事例
90.
・ランキングデータ ・「みんなで倒す」ボスデータ ・ユーザ集計データ ・単純なKVSとして(トークン等) など、多くの用途で活用されています。 ソーシャルゲームでの活用事例
91.
ランキングデータ User:A スコア:10 User:A スコア:50 User:A スコア:70 User:A スコア:90 1 3 4
5 ユーザランキング User:A スコア:30 プレイ結果 ソート済みセット型
92.
・ゲームのプレイ結果「ユーザID」「スコア」をソート済みセットに登録 ⇒スコア順のユーザランキングが生成される。 ・順位での検索、ユーザでの検索、スコアでの検索が可能。 ⇒RDBだとランク取得にorder_byが必要になり、処理が重い。 ランキングデータ
93.
「みんなで倒す」ボスデータ ボス情報 出現時間 キー:prefix {ボスID}:{ユーザID} ハッシュ型 ボスHP 攻撃履歴A
攻撃履歴B 攻撃履歴C
94.
・ダメージ与えるたびにボスのHPをデクリメント。 ⇒キャッシュ内で値を一意に保つ事ができる。 ・ハッシュ内に攻撃履歴の情報をfield:valueで追加。 ⇒複数データを一括で取得/削除する事ができる。 「みんなで倒す」ボスデータ
95.
ユーザーデータ 所持アイテム数 ステータス キー:prefix {ユーザID} ハッシュ型 合計攻撃力クエスト進捗
96.
・ユーザに関する集計値を保持 ⇒DBが冗長になるのを防ぐ ・ステータスなど頻繁にアクセスする値を保持 ⇒値の構造化による高速なアクセスを実現 ユーザデータの保持
97.
KVSとしての活用(トークン等) 画面アクセス用トークン キー:prefix {ユーザID}{画面ID} 文字列型
98.
KVSとしての活用(トークン等) ・単純なKey/Valueとして保持 ⇒memcachedからの代替が容易 expireをキー単位で設定できる ・ハッシュ型を使用して階層として保持 ⇒データの取得/削除が一括で行える 数値の管理がやりやすい。
99.
最後に
100.
RedisがAWSで採用された意味はとても大きいと思います。 恐らく簡単には廃れないでしょう。 これからもどんどん活用して、理解を深めていきましょう!
101.
勉強会は以上になります。 ご清聴ありがとうございました。
102.
参考ページ http://www.cyberagent.co.jp/technology/pdf/2012_16.pdf http://redis.io/ http://rest-term.com/archives/3045/ https://github.com/nicolasff/phpredis http://d.hatena.ne.jp/zentoo/20130718/1374152848 http://tech.gmo-media.jp/post/48748908427/introduce-redis-sentinel http://www.atmarkit.co.jp/news/201009/07/redis.html http://gihyo.jp/dev/clip/01/orangenews/vol59/0002
103.
参考ページ http://sourceforge.jp/magazine/11/02/24/060248 http://sourceforge.jp/magazine/11/10/18/0435209 http://sourceforge.jp/magazine/12/10/24/0530252 http://antirez.com/news/49
Download now