今回はGoInstantのCollectionとDataLifeCycleについて!

 

Collection

GoInstantはJSONのキーバリューを動的に増やしていくような機能(add)を持ってます。

サンプル↓

addcollection

 

見ての通り、key値が自動的に生成されて、そのkeyに対して指定した値がセットされます。

addを繰り返すと、こんな感じに増えていきます。

addcollection2

 

‘/test/xxxx’っていう重複しないキーに対して値をセットすれば同様の挙動を得られますが、

自動的に重複しないキーを生成したい場合はaddを利用することになります。

 

※配列やオブジェクトの型を持つ値に対して

読み込み(get)→読み込んだデータに値を追加→書き込み(set)

というフローでもいけそうですが、トランザクションを考えると排他制御をかけないといけないし

排他制御をしたところで、リアルタイムなコミュニケーションはできなくなるので、この方法はダメ。

 

Data Life Cycle

GoInstantではデータの有効期限を設定することが出来ます。

以下のコードはセットしたデータが3秒後に削除されるサンプルです。

expiredata

 

ちなみにここで設定するexpireは、GoInstant上で保存されたタイミングから起算するため、

JavaScriptで設定してGoInstantサーバにデータが保存されるレイテンシを考えると

多少の誤差があります。(といっても秒レベル)

 

また、階層構造上、親子関係でない値であっても、キー同士を関連付けて

「ある特定のキーが削除されたら、関連するキーも削除する」といったことが可能です。