当ブログ人気記事!
転職体験談
Laravelで学ぶWebアプリ開発
誰でも作れるチャットアプリ
未経験への勧め

【Lambda Store×Go】簡単!サーバーレスRedisの使い方

プログラミング

流行りのサーバーレスのサービスを使ってみたい!
LambdaStoreってなに?

本記事はこういった悩みに対しての記事です!


この記事を書いている僕(@Shoot58153748)は、
2020年4月現在メガベンチャーの社内スタートアップの部署で
エンジニア(2年目突入)をしており、

プログラミング未経験からメガベンチャーへの転職を成功させた経験・ノウハウ
Webエンジニアになってから学んだこと


をブログにまとめています。


今回は
Lambda Storeというサービスの使い方を解説いたします!

スポンサーリンク

Lambda Storeとは?

Redisを、AWS上のマネージドデータベースとして提供する新サービスです。

Redisは、キーバリューストアのデータ構造を持つインメモリデータベースです。
すべてのデータをコンピュータのメインメモリ上に展開しながら動作するので、高速です。

似たようなサービスだと、
AWSが提供する「Amazon ElastiCache」や、RedisLabsが提供する「Redis Enterprise」などがありますね。


Lambda StoreはRedisをサーバレスモデルで提供するため、
使った分だけ料金が発生する従量課金になっており、
格安で導入し、アクセスが増えてきたらスケールできるという特徴があります。


期限なく無料で使える「Free」プランがあるので、
試しで簡単に素早くサーバーレスRedisを導入できます。

ちなみに「Free」プランでは、データベース容量が256MB、最大20同時接続、1日あたり最大5000リクエストまでとなっています。


お試しで使うには十分ですね。

Lambda Storeの使い方

登録

サイトにアクセスし、Start For freeをクリック

画像に alt 属性が指定されていません。ファイル名: lambda-store-home-1-1024x535.png

Githubログインした後の画面で、Create Databaseをクリック

画像に alt 属性が指定されていません。ファイル名: lambda-store-overall-1-1024x485.png

Display TypeはFreeを選択し、DB名を適当に入力し、リージョンも選択(アメリカしか選択肢がない模様)し、Createをクリック

画像に alt 属性が指定されていません。ファイル名: lambda-store-select-db-type-1024x527.png

表示されるDB情報を使って接続していきます。

画像に alt 属性が指定されていません。ファイル名: lambda-store-db-info-1024x528.png

クライアント(redis-cli)で接続する場合

// RedisClientをインストールしていない場合
brew install redis

// LambdaStoreでDB作成後に表示された画面からPASSWORD, ENDPOINT, PORTをコピー
redis-cli -a PASSWORD -h ENDPOINT -p PORT

GoでRedisに接続する場合

ライブラリインストール

mkdir lambda-store-redigo && cd lambda-store-redigo
// ライブラリ(Redigo)インストール
go get github.com/gomodule/redigo/redis

// goファイル作成
vi main.go

ソースコード

package main

import (
  "github.com/gomodule/redigo/redis"
  "fmt"
)

const ENDPOINT string = "XXXXXXXXXXXXXXXXX"
const PORT string  = "YYYYYYYYYY"
const PASSWORD string = "ZZZZZZZZZZZZZ"

func main(){

  c, err := redis.Dial("tcp", ENDPOINT + ":" + PORT)
  if err != nil {
      panic(err)
  }

  _, err = c.Do("AUTH", PASSWORD)
  if err != nil {
      panic(err)
  }

  _, err = c.Do("SET", "lambda:store:hoge", "hoge")
  if err != nil {
      panic(err)
  }

  value, err := redis.String(c.Do("GET", "lambda:store:hoge"))
  if err != nil {
      panic(err)
  }
  fmt.Println(value)
}

最後に実行すると、、

go run main.go

hogeと標準出力されます。
これで終了です!

まとめ

以上、Lambda Storeの使い方を紹介しました!


クラウドサービスの発展が著しい昨今、
サーバーレスな従量課金制のサービスは今後さらに主流になっていくと
考えられます。


本日紹介したLambdaStoreは無料かつ非常に簡単に導入できるので、
是非試してみてくださいね!




本ブログでは他にも
Laravel×Vueのツイッター風SNSアプリチュートリアルや


ポートフォリオサイトの作成〜公開までのプロセス(全8回)
を全て記事にしているので是非ご覧になってみてください!

プログラミング
スポンサーリンク
シェアする
SHOOTをフォローする
WebエンジニアSHOOTのブログ

コメント

タイトルとURLをコピーしました