Stackexchange.redis: ๋ชฉ๋ก์— ์—ฌ๋Ÿฌ ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ชฉ๋ก์—์„œ ์—ฌ๋Ÿฌ ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2014๋…„ 09์›” 30์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: StackExchange/StackExchange.Redis

ํ‚ค ๋ชฉ๋ก์„ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ํ‚ค์— ๋Œ€ํ•œ ๊ฐ’ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋Ÿ‰์˜ ํ‚ค ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

cache.Set("A", Object1);
cache.Set("B", Object2);
๋ชฉ๋ก> ์žฌ๋ฐฐํฌ;
๋ชฉ๋ก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์˜ API์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์–ธ๊ธ‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

IDatabase ์บ์‹œ = ์—ฐ๊ฒฐ.GetDatabase();

String ํ‚ค ๋ชฉ๋ก์„ ๋ณด๋‚ด Redis์— ์ €์žฅ๋œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด ๋ชฉ๋ก์„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ:

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

๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰