using System.Linq; using NUnit.Framework; namespace StackExchange.Redis.Tests { [TestFixture] public class MultiAdd : TestBase { [Test] public void AddSortedSetEveryWay() { using(var conn = Create()) { var db = conn.GetDatabase(3); RedisKey key = Me(); db.KeyDelete(key); db.SortedSetAdd(key, "a", 1); db.SortedSetAdd(key, new[] { new SortedSetEntry("b", 2) }); db.SortedSetAdd(key, new[] { new SortedSetEntry("c", 3), new SortedSetEntry("d", 4)}); db.SortedSetAdd(key, new[] { new SortedSetEntry("e", 5), new SortedSetEntry("f", 6), new SortedSetEntry("g", 7)}); db.SortedSetAdd(key, new[] { new SortedSetEntry("h", 8), new SortedSetEntry("i", 9), new SortedSetEntry("j", 10), new SortedSetEntry("k", 11)}); var vals = db.SortedSetRangeByScoreWithScores(key); string s = string.Join(",", vals.OrderByDescending(x => x.Score).Select(x => x.Element)); Assert.AreEqual("k,j,i,h,g,f,e,d,c,b,a", s); s = string.Join(",", vals.OrderBy(x => x.Score).Select(x => x.Score)); Assert.AreEqual("1,2,3,4,5,6,7,8,9,10,11", s); } } [Test] public void AddHashEveryWay() { using (var conn = Create()) { var db = conn.GetDatabase(3); RedisKey key = Me(); db.KeyDelete(key); db.HashSet(key, "a", 1); db.HashSet(key, new[] { new HashEntry("b", 2) }); db.HashSet(key, new[] { new HashEntry("c", 3), new HashEntry("d", 4)}); db.HashSet(key, new[] { new HashEntry("e", 5), new HashEntry("f", 6), new HashEntry("g", 7)}); db.HashSet(key, new[] { new HashEntry("h", 8), new HashEntry("i", 9), new HashEntry("j", 10), new HashEntry("k", 11)}); var vals = db.HashGetAll(key); string s = string.Join(",", vals.OrderByDescending(x => (double)x.Value).Select(x => x.Name)); Assert.AreEqual("k,j,i,h,g,f,e,d,c,b,a", s); s = string.Join(",", vals.OrderBy(x => (double)x.Value).Select(x => x.Value)); Assert.AreEqual("1,2,3,4,5,6,7,8,9,10,11", s); } } [Test] public void AddSetEveryWay() { using (var conn = Create()) { var db = conn.GetDatabase(3); RedisKey key = Me(); db.KeyDelete(key); db.SetAdd(key, "a"); db.SetAdd(key, new RedisValue[] { "b" }); db.SetAdd(key, new RedisValue[] { "c", "d" }); db.SetAdd(key, new RedisValue[] { "e", "f", "g" }); db.SetAdd(key, new RedisValue[] { "h", "i", "j","k" }); var vals = db.SetMembers(key); string s = string.Join(",", vals.OrderByDescending(x => x)); Assert.AreEqual("k,j,i,h,g,f,e,d,c,b,a", s); } } [Test] public void AddSetEveryWayNumbers() { using (var conn = Create()) { var db = conn.GetDatabase(3); RedisKey key = Me(); db.KeyDelete(key); db.SetAdd(key, "a"); db.SetAdd(key, new RedisValue[] { "1" }); db.SetAdd(key, new RedisValue[] { "11", "2" }); db.SetAdd(key, new RedisValue[] { "10", "3", "1.5" }); db.SetAdd(key, new RedisValue[] { "2.2", "-1", "s", "t" }); var vals = db.SetMembers(key); string s = string.Join(",", vals.OrderByDescending(x => x)); Assert.AreEqual("t,s,a,11,10,3,2.2,2,1.5,1,-1", s); } } } }
2015년 6월 17일 수요일
StackExchange.Resid.StrongName (MultiAdd Sample)
Redis with StackExchange.Redis.StrongName(Sample Code)
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); db = redis.GetDatabase(); EndPoint ep = db.IdentifyEndpoint(); server = redis.GetServer(ep); //Add Resid by Key-Value RedisValue v = "a"; db.StringSet("stringKey", v); Dictionary<RedisKey, RedisValue> dics = new Dictionary<RedisKey, RedisValue>() { {"stringKeyA", "S_1"}, {"stringKeyB", "S_2"} }; db.StringSet(dics.AsQueryable().ToArray(), When.Always, CommandFlags.None); //Add to Resid by Set Value RedisValue[] values = { "d", "e", "f" }; long size = db.SetAdd("SetKey", values); IEnumerable<RedisValue> setvalue = db.SetScan("SetKey"); //Add to Redis by List Value db.ListRightPush("ListKey", "abcdefghijklmnopqrstuvwxyz".Select(x => (RedisValue)x.ToString()).ToArray()); RedisValue[] listvalue = db.ListRange("ListKey", 0, -1); //Key Confirm foreach (RedisKey k in server.Keys()) { MessageBox.Show(k.ToString()); }
라벨:
.NET Framework,
Redis
피드 구독하기:
글 (Atom)