Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

StackExchange.Redis simple C# Example

I am looking for a very simple starter C# application for using StackExchange.Redis I have search over the web and found StackExchange.Redis

But this doesn't seems like a quick startup example.

I have setup redis on windows using StackExchange.Redis exe

Can anyone help me locate a simple C# application connecting with redis server and setting and getting some keys.

like image 406
hellowahab Avatar asked Oct 01 '15 13:10

hellowahab


2 Answers

You can find C# examples in the readme file.

using StackExchange.Redis;
...

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
// ^^^ store and re-use this!!!

IDatabase db = redis.GetDatabase();
string value = "abcdefg";
db.StringSet("mykey", value);
...
string value = db.StringGet("mykey");
Console.WriteLine(value); // writes: "abcdefg"
like image 120
thepirat000 Avatar answered Nov 04 '22 01:11

thepirat000


See the following code from their github sample:

 using (var muxer = ConnectionMultiplexer.Connect("localhost,resolvedns=1"))
        {
            muxer.PreserveAsyncOrder = preserveOrder;
            RedisKey key = "MBOA";
            var conn = muxer.GetDatabase();
            muxer.Wait(conn.PingAsync());

            Action<Task> nonTrivial = delegate
            {
                Thread.SpinWait(5);
            };
            var watch = Stopwatch.StartNew();
            for (int i = 0; i <= AsyncOpsQty; i++)
            {
                var t = conn.StringSetAsync(key, i);
                if (withContinuation) t.ContinueWith(nonTrivial);
            }
            int val = (int)muxer.Wait(conn.StringGetAsync(key));
            watch.Stop();

            Console.WriteLine("After {0}: {1}", AsyncOpsQty, val);
            Console.WriteLine("({3}, {4})\r\n{2}: Time for {0} ops: {1}ms; ops/s: {5}", AsyncOpsQty, watch.ElapsedMilliseconds, Me(),
                withContinuation ? "with continuation" : "no continuation", preserveOrder ? "preserve order" : "any order",
                AsyncOpsQty / watch.Elapsed.TotalSeconds);
        }
like image 42
Kamran Shahid Avatar answered Nov 04 '22 01:11

Kamran Shahid