SlideShare a Scribd company logo
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も覚えやすいはず
 コードも少ないから学習にも

More Related Content

What's hot (19)

webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
nasa9084
 
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
 
ActiveHash
ActiveHashActiveHash
ActiveHash
Sachirou Inoue
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
Satoshi Kume
 
Go言語のスライスを理解しよう
Go言語のスライスを理解しようGo言語のスライスを理解しよう
Go言語のスライスを理解しよう
Yasutaka Kawamoto
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
Kuninobu SaSaki
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
Kohei 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 @studio3104
Satoshi Suzuki
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
 
Haskell超初心者勉強会11
Haskell超初心者勉強会11Haskell超初心者勉強会11
Haskell超初心者勉強会11
Takashi Kawachi
 
Distributed processwithapex&flow lowcode
Distributed processwithapex&flow lowcodeDistributed processwithapex&flow lowcode
Distributed processwithapex&flow lowcode
furuCRM株式会社 CEO/Dreamforce Vietnam Founder
 
Common LispでGPGPU
Common LispでGPGPUCommon LispでGPGPU
Common LispでGPGPU
gos-k
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理
博文 斉藤
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
nasa9084
 
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.0
Satoshi 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 DO
Kohei 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 @studio3104
Satoshi Suzuki
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
 
Haskell超初心者勉強会11
Haskell超初心者勉強会11Haskell超初心者勉強会11
Haskell超初心者勉強会11
Takashi Kawachi
 
Common LispでGPGPU
Common LispでGPGPUCommon LispでGPGPU
Common LispでGPGPU
gos-k
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理
博文 斉藤
 

Viewers also liked (8)

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

Similar to Redis Intro Osc2010 Tokyo Spring (20)

RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch db
Eiji Kuroda
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
Kohei Kadowaki
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
irix_jp
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
Julien Tournay
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
Sho 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 201207
Jun Ohtani
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei 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
スタート低レイヤー #0
Kiwamu Okabe
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
 
Nodejs
NodejsNodejs
Nodejs
Masanobu Masuda
 
MongoDB
MongoDBMongoDB
MongoDB
あしたのオープンソース研究所  
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
hiboma
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
 
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
 
What is Metasepi?
What is Metasepi?What is Metasepi?
What is Metasepi?
Kiwamu Okabe
 
zsh とわたし
zsh とわたし zsh とわたし
zsh とわたし
Toshihiko Shimokawa
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch db
Eiji Kuroda
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
irix_jp
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
Julien Tournay
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
Sho 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 201207
Jun Ohtani
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei 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
スタート低レイヤー #0
Kiwamu Okabe
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
hiboma
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
 
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
 

Recently uploaded (11)

HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
Matsushita Laboratory
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
 
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
sugiuralab
 
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
Matsushita Laboratory
 
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
harmonylab
 
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
sugiuralab
 
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
Matsushita Laboratory
 
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
Matsushita Laboratory
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
 
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
sugiuralab
 
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
Matsushita Laboratory
 
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
harmonylab
 
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
sugiuralab
 
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
Matsushita Laboratory
 

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も覚えやすいはず コードも少ないから学習にも