LoginSignup
2
4

More than 5 years have passed since last update.

Redis を触ってみる

Posted at

プロジェクトで同僚が使い始めて、私は初めてだったのでトラブルシュートがてら触ってみた。

インストール方法

Azure で Redis をインストールするにはいくつかの方法がある。ポータルからが一番簡単

Redis01.png

  1. Access keys から、プライマリ・セカンダリキーと、接続文字列が取得できる。
  2. コンソールを web 上で開くことができる

各種クライアント

サーバーに接続するための様々なクライアントが用意されている。

Azure Portal

さきの 2. をクリックすると、ポータル上でくれりを投げることができる。

Redis02.png

redis-cli

Windows、Mac, Linux 向けにクライアントが用意されている。私が、Bash on Windows で接続確認した方法は下記の通り。

$ sudo apt-get install redis-tools

これであっさり redis-cli がインストールされましたが、一つ問題があります。サーバーは、デフォルトでTLS のアクセスしかredis-cli を使うときは、素のhttp でアクセスするようになっています。その時は、Windows 側で stunnel download を使うとよい。これは、TLSのエンクリプションラッパーだ。動作イメージを見てみよう。stunnelをダウンロードしてインストールする。
インストールして、 Stunnel GUL Start を探して実行してみよう。いくつかの項目をいれなくてはならない。あと、設定の変更が必要だ。

Redis03.png

手順どおり、実施してみる。設定ファイルの一番したに下記のを追加。

[redis-cli]
client = yes
accept = 127.0.0.1:6380
connect = YOURE_REDIS_NAME.redis.cache.windows.net:6380
``
これで、クライアントからのメッセージをここに送ることによって、TSLにラップして送信してくれる。
じゃあ、実際に、redis-cli から動作させてみよ

$ redis-cli -p 6380 -a YOUR_PRIMARY_PASSWORD 127.0.0.1:6380> ping
PONG
```

stunnelがあれば楽勝ですね。

.NET

さて、.NET でもプログラムが書ける。

using StackExchange.Redis;
using System;

namespace RedisSample
{
  class Program
  {
    static void Main(string[] args)
    {
        IDatabase cache = Connection.GetDatabase();
        cache.StringSet("key1", "value");
        cache.StringSet("key2", 25)

        string key1 = cache.StringGet("key1")
        int key2 = (int)cache.StringGet("key2")
        Console.WriteLine($"key1:{key1} key2: {key2}");   
        Console.ReadLine();    
    }

  private static Lazy<ConnectionWultiplexer lazyConenction = new Lazy<ConnectionMultiplexer> (() =>
    return ConnectionMultiplexer.Connect("YOUR ENDPOINT HERE");

     public static ConnectionMultiplexer Connection
       get 
       {
          return lazyConnection.Value;
       }
    }
  }
}

とっても簡単で解説もいらないぐらい。

実行すると予想通りの例

key1: value key2: 25

ちゃんとアクセスできました。

Enjoy coding

* [How to Use Azure Redis Cache](https://docs.microsoft.com/en-us/azure/redis-cache/cache-dotnet-how-to-use-azure-redis-cache)
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4