SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Redisをドキュメント指向DBとし
        て使う
      2010/2/27(Sat)
   OSC 2010 Tokyo/Spring
         z.ohnami
1.2.2
2/18 Released !!
Redisの特徴

 インメモリーなKVS
  ゆえに、高速
  それでいて、データは永続化
 4種類のデータ型
  型ごとに豊富なAPIを備える
コンパイルしましょう
$ wget http://redis.googlecode.com/files/redis-1.2.2.tar.gz

$ tar xvzf redis-1.2.2.tar.gz

$ cd redis-1.2.2

$ make
使ってみましょう
Redisの起動
 $ ./redis-server

データ格納
 $ ./redis-cli set name z.ohnami

データを入手
 $ ./redis-cli get name
 z.ohnami

docフォルダにはHTMLドキュメントも充実!!
Document-Oriented Database
For example here's a document:

FirstName="Bob", Address="5 Oak St.", Hobby="sailing".

Another document could be:

FirstName="Jonathan", Address="15 Wanamassa Point Road", Children=("Michael,
10", "Jennifer,8", "Samantha,5", "Elena,2").

Notice that both documents have some similar information and some different - but
unlike a relational database where each record would have the same set of fields and
unused fields might be kept empty, there are no empty 'fields' in either document
(record) in this case. This system allows information to be added any time without
wasting storage space for "empty fields" as in relational databases.

 From Wikipedia Document-Oriented Database

  http://en.wikipedia.org/wiki/Document-oriented_database
Semi Structured Data

  ゆるーくデータを管理する
CouchDBの場合
{                         {
 _id:xxx,                  _id:yyy,
  "なまえ":"まこと",              "なまえ":"ぽったー",
  "せいべつ":"おとこ",             "せいべつ":"おとこ",
  "しょくぎょう":"SE",            "しょくぎょう":
  "とくぎ":["小走り","歯ぎしり"],       ["SE","魔法使い"]
  "そうび":"{                  "まほう":["JScript","bash"],
     "あたま":"めがね",             "そうび":"{
     "からだ":"桃色ニット",              "あたま":"めがね",
     "あし":"ぞうり",                 "からだ":"くさりかたびら",
     "PC":"ネットブック"               "あし":"ホーキンス",
                                 "PC":"MacBook Air",
   }"                            "そのた":""
}                              }"
                          }
Redisならどうやる!?

     ???
set profile:1:name z.ohnami

         key & value
set profile:1:name z.ohnami
set profile:1:blood A
set profile:1:age 30

set profile:2:name y.konami
set profile:2:blood C++
set profile:2:height 140
4種類のデータ型

   四
String型
$ ./redis-cli set OSC "OSC 2010 Tokyo/Spring"

$ ./redis-cli get OSC
OSC 2010 Tokyo/Spring
計算もできます
$ ./redis-cli set cnt 0
$ ./redis-cli incr cnt
(integer) 1

$ ./redis-cli incrby cnt 10
(integer) 11
$ ./redis-cli decrby cnt 10
(integer) 1

$ ./redis-cli decr cnt
(integer) 0
List型
$ ./redis-cli rpush msg "CouchDB"
$ ./redis-cli rpush msg "MongoDB"
$ ./redis-cli rpush msg "Redis"
$ ./redis-cli rpush msg "Lotus/Domino"

$ ./redis-cli lrange msg 0 3
1. CouchDB
2. MongoDB
3. Redis
4. Lotus/Domino
Sets型
$ ./redis-cli sadd hobby:baseball z.ohnami
$ ./redis-cli sadd hobby:swiming z.ohnami
$ ./redis-cli sadd hobby:swiming y.ohnami
$ ./redis-cli sadd hobby:swiming x.ohnami

$ ./redis-cli sinter hobby:swiming
1. z.ohnami
2. y.ohnami
3. x.ohnami
Sorted sets型
$ ./redis-cli zadd relax 120 マッサージ
$ ./redis-cli zadd relax -20 二日酔い
$ ./redis-cli zadd relax 50 爪切り
$ ./redis-cli zadd relax -50 深爪
$ ./redis-cli zadd relax 100 お風呂

$ ./redis-cli zrange relax 0 -1
1. 深爪
2. 二日酔い
3. 爪切り
4. 風呂
5. マッサージ
使ってみての感想
ドキュメント指向DBとして使えそう
 アスタリスクでキーの検索可能
   ./redis-cli keys profile:1:*
 添付ファイルは格納できるか?
   今回、未チェックです。。
はじめる際の敷居が低い
 インストールが楽でした
 APIも覚えやすいはず
 コードも少ないから学習にも

Mais conteúdo relacionado

Mais procurados

webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたC83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたKiwamu Okabe
 
Dive into .git 日本語版
Dive into .git 日本語版Dive into .git 日本語版
Dive into .git 日本語版nishio
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったchibochibo
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Satoshi Kume
 
Go言語のスライスを理解しよう
Go言語のスライスを理解しようGo言語のスライスを理解しよう
Go言語のスライスを理解しようYasutaka Kawamoto
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!Naruhiko Ogasawara
 
Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104Satoshi Suzuki
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104Satoshi Suzuki
 
Haskell超初心者勉強会11
Haskell超初心者勉強会11Haskell超初心者勉強会11
Haskell超初心者勉強会11Takashi Kawachi
 
Common LispでGPGPU
Common LispでGPGPUCommon LispでGPGPU
Common LispでGPGPUgos-k
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoShoot Morii
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理博文 斉藤
 

Mais procurados (19)

webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
C83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきましたC83 λカ娘の販促にやってきました
C83 λカ娘の販促にやってきました
 
Dive into .git 日本語版
Dive into .git 日本語版Dive into .git 日本語版
Dive into .git 日本語版
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になった
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
ActiveHash
ActiveHashActiveHash
ActiveHash
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
 
Go言語のスライスを理解しよう
Go言語のスライスを理解しようGo言語のスライスを理解しよう
Go言語のスライスを理解しよう
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!
 
Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104Chiba.pm #1 lt @studio3104
Chiba.pm #1 lt @studio3104
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
 
Haskell超初心者勉強会11
Haskell超初心者勉強会11Haskell超初心者勉強会11
Haskell超初心者勉強会11
 
Oneliner
OnelinerOneliner
Oneliner
 
Distributed processwithapex&flow lowcode
Distributed processwithapex&flow lowcodeDistributed processwithapex&flow lowcode
Distributed processwithapex&flow lowcode
 
Common LispでGPGPU
Common LispでGPGPUCommon LispでGPGPU
Common LispでGPGPU
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理
 

Destaque

CouchDB20091120_validation
CouchDB20091120_validationCouchDB20091120_validation
CouchDB20091120_validationMakoto Ohnami
 
CouchDBをヤラナイカ
CouchDBをヤラナイカCouchDBをヤラナイカ
CouchDBをヤラナイカMakoto Ohnami
 
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスJsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスYoichi KIKUCHI
 
大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015Itsuki Sakitsu
 
情科若会2016公開用
情科若会2016公開用情科若会2016公開用
情科若会2016公開用Ko Ise
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?Minoru Yokomichi
 

Destaque (8)

CouchDB20091120_validation
CouchDB20091120_validationCouchDB20091120_validation
CouchDB20091120_validation
 
CouchDBをヤラナイカ
CouchDBをヤラナイカCouchDBをヤラナイカ
CouchDBをヤラナイカ
 
CouchDB in The Room
CouchDB in The RoomCouchDB in The Room
CouchDB in The Room
 
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスJsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
 
大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015
 
情科若会2016公開用
情科若会2016公開用情科若会2016公開用
情科若会2016公開用
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Semelhante a Redis Intro Osc2010 Tokyo Spring

RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch dbEiji Kuroda
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lispirix_jp
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scioJulien Tournay
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for SmalltalkSho Yoshida
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO についてTomoya Kawanishi
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Jun Ohtani
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門Yohei Sasaki
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合hiboma
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRubyemasaka
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenotekitsugi
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...Naoya Ito
 

Semelhante a Redis Intro Osc2010 Tokyo Spring (20)

RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch db
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO について
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
Nodejs
NodejsNodejs
Nodejs
 
MongoDB
MongoDBMongoDB
MongoDB
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
 
What is Metasepi?
What is Metasepi?What is Metasepi?
What is Metasepi?
 
zsh とわたし
zsh とわたし zsh とわたし
zsh とわたし
 

Último

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Último (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Redis Intro Osc2010 Tokyo Spring

  • 1. Redisをドキュメント指向DBとし て使う 2010/2/27(Sat) OSC 2010 Tokyo/Spring z.ohnami
  • 3. Redisの特徴 インメモリーなKVS ゆえに、高速 それでいて、データは永続化 4種類のデータ型 型ごとに豊富なAPIを備える
  • 5. 使ってみましょう Redisの起動  $ ./redis-server データ格納  $ ./redis-cli set name z.ohnami データを入手  $ ./redis-cli get name z.ohnami docフォルダにはHTMLドキュメントも充実!!
  • 6. Document-Oriented Database For example here's a document: FirstName="Bob", Address="5 Oak St.", Hobby="sailing". Another document could be: FirstName="Jonathan", Address="15 Wanamassa Point Road", Children=("Michael, 10", "Jennifer,8", "Samantha,5", "Elena,2"). Notice that both documents have some similar information and some different - but unlike a relational database where each record would have the same set of fields and unused fields might be kept empty, there are no empty 'fields' in either document (record) in this case. This system allows information to be added any time without wasting storage space for "empty fields" as in relational databases. From Wikipedia Document-Oriented Database http://en.wikipedia.org/wiki/Document-oriented_database
  • 7. Semi Structured Data ゆるーくデータを管理する
  • 8. CouchDBの場合 { {  _id:xxx,  _id:yyy, "なまえ":"まこと", "なまえ":"ぽったー", "せいべつ":"おとこ", "せいべつ":"おとこ", "しょくぎょう":"SE", "しょくぎょう": "とくぎ":["小走り","歯ぎしり"], ["SE","魔法使い"] "そうび":"{ "まほう":["JScript","bash"], "あたま":"めがね", "そうび":"{ "からだ":"桃色ニット", "あたま":"めがね", "あし":"ぞうり", "からだ":"くさりかたびら", "PC":"ネットブック" "あし":"ホーキンス", "PC":"MacBook Air", }" "そのた":"" } }" }
  • 11. set profile:1:name z.ohnami set profile:1:blood A set profile:1:age 30 set profile:2:name y.konami set profile:2:blood C++ set profile:2:height 140
  • 13. String型 $ ./redis-cli set OSC "OSC 2010 Tokyo/Spring" $ ./redis-cli get OSC OSC 2010 Tokyo/Spring
  • 14. 計算もできます $ ./redis-cli set cnt 0 $ ./redis-cli incr cnt (integer) 1 $ ./redis-cli incrby cnt 10 (integer) 11 $ ./redis-cli decrby cnt 10 (integer) 1 $ ./redis-cli decr cnt (integer) 0
  • 15. List型 $ ./redis-cli rpush msg "CouchDB" $ ./redis-cli rpush msg "MongoDB" $ ./redis-cli rpush msg "Redis" $ ./redis-cli rpush msg "Lotus/Domino" $ ./redis-cli lrange msg 0 3 1. CouchDB 2. MongoDB 3. Redis 4. Lotus/Domino
  • 16. Sets型 $ ./redis-cli sadd hobby:baseball z.ohnami $ ./redis-cli sadd hobby:swiming z.ohnami $ ./redis-cli sadd hobby:swiming y.ohnami $ ./redis-cli sadd hobby:swiming x.ohnami $ ./redis-cli sinter hobby:swiming 1. z.ohnami 2. y.ohnami 3. x.ohnami
  • 17. Sorted sets型 $ ./redis-cli zadd relax 120 マッサージ $ ./redis-cli zadd relax -20 二日酔い $ ./redis-cli zadd relax 50 爪切り $ ./redis-cli zadd relax -50 深爪 $ ./redis-cli zadd relax 100 お風呂 $ ./redis-cli zrange relax 0 -1 1. 深爪 2. 二日酔い 3. 爪切り 4. 風呂 5. マッサージ
  • 18. 使ってみての感想 ドキュメント指向DBとして使えそう アスタリスクでキーの検索可能 ./redis-cli keys profile:1:* 添付ファイルは格納できるか? 今回、未チェックです。。 はじめる際の敷居が低い インストールが楽でした APIも覚えやすいはず コードも少ないから学習にも