Stackexchange.redis: рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рд╕реВрдЪреА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдХреБрдВрдЬреА рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реВрдЪреА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдорд╛рди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рд╕рд┐рддре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: StackExchange/StackExchange.Redis

рдореБрдЭреЗ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЙрди рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдкреНрд░рдореБрдЦ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдереЛрдХ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХреИрд╢редрд╕реЗрдЯ ("рдП", рдСрдмреНрдЬреЗрдХреНрдЯ 1);
рдХреИрд╢редрд╕реЗрдЯ ("рдмреА", рдСрдмреНрдЬреЗрдХреНрдЯ 2);
рд╕реВрдЪреА> рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
рд╕реВрдЪреАsKeys = рдирдИ рд╕реВрдЪреА();
sKeys.Add("A");
sKeys.Add("B");

(рд╕реВрдЪреА>)cache.get(sKeys) -> рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛..

рдпрджрд┐ рд╣рдо рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдХреБрдВрдЬреА рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдорд╛рдиреЛрдВ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕рд▓рд┐рдП:

var keys = new RedisKey[] { "A", "B" };
var values = cache.StringGet(keys);
var a = (string)values[0];
var b = (byte[])values[1];

рдпрд╛ рдЗрд╕реА рдХреЗ рд╕рдорд╛рди

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдФрд░ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рдХреИрд╢" рдХреНрдпрд╛ рд╣реИ? IDatabase API рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдПрдХ рдмрд╣реБ-рдХреБрдВрдЬреА API рд╣реИ:

RedisValue[] StringGet(RedisKey[] keys, CommandFlags flags = CommandFlags.None);

рдФрд░ рдПрдХ рдорд┐рд▓рд╛рди Async рд╕рдВрд╕реНрдХрд░рдг; рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЗ "рдХреИрд╢" рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ SE.Redis 'рдПрдкреАрдЖрдИ рдЬреИрд╕рд╛ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ

IDatabase рдХреИрд╢ = рдХрдиреЗрдХреНрд╢рдиред рдЧреЗрдЯрдбреЗрдЯрд╛рдмреЗрд╕ ();

рдореБрдЭреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рднреЗрдЬрдХрд░ рд░реЗрдбрд┐рд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХрд╛рдзрд┐рдХ рд╕реВрдЪреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП:

var keys = new RedisKey[] { "A", "B" };
var values = cache.StringGet(keys);
var a = (string)values[0];
var b = (byte[])values[1];

рдпрд╛ рдЗрд╕реА рдХреЗ рд╕рдорд╛рди

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Plasma picture Plasma  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BrennanConroy picture BrennanConroy  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hgmauri picture hgmauri  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SkyKicker picture SkyKicker  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dardar4 picture dardar4  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ