public async Task Remove() { var set = new RedisSortedSet <string>(GlobalSettings.Default, "set"); await set.Delete(); await set.Add("a", 10); await set.Add("b", 100); await set.Add("c", 1000); await set.Add("d", 10000); await set.Add("e", 100000); await set.Add("f", 1000000); var c = await set.Get("c"); c.Value.Is("c"); c.Rank.Is(2); c.Score.Is(1000); (await set.Remove("c")).IsTrue(); (await set.Remove("c")).IsFalse(); (await set.Get("c")).IsNull(); await set.Add("c", 1000); (await set.RemoveRangeByRank(2, 3)).Is(2); (await set.RangeByRank()).Is("a", "b", "e", "f"); await set.Delete(); await set.Add("a", 10); await set.Add("b", 100); await set.Add("c", 1000); await set.Add("d", 10000); await set.Add("e", 100000); await set.Add("f", 1000000); (await set.RemoveRangeByScore(100, 10000)).Is(3); (await set.RangeByRank()).Is("a", "e", "f"); }
public void SortedSet_Normal() { var rkey = "zset_test"; // 删除已有 _redis.Remove(rkey); var zset = new RedisSortedSet(_redis, rkey); var list = new SortedList <Double, String>(); // 插入数据 for (var i = 0; i < 17; i++) { var key = Rand.NextString(8); var score = Rand.Next() / 1000d; list.Add(score, key); var rs = zset.Add(key, score); Assert.True(rs); } Assert.Equal(list.Count, zset.Count); var ks = list.Keys.ToList(); var vs = list.Values.ToList(); // 删除 { list.Remove(ks[0]); var rs = zset.Remove(vs[0]); Assert.True(rs); Assert.Equal(list.Count, zset.Count); ks.RemoveAt(0); vs.RemoveAt(0); } // 取值 { var key = vs[0]; var score = ks[0]; Assert.Equal(score, zset.GetScore(key)); } // 最小两个 { var keys = zset.Range(0, 1); Assert.Equal(vs[0], keys[0]); Assert.Equal(vs[1], keys[1]); } // 最大三个 { var keys = zset.Range(-2, -1); Assert.Equal(vs[^ 1], keys[1]);
public async Task Remove() { var set = new RedisSortedSet<string>(GlobalSettings.Default, "set"); await set.Delete(); await set.Add("a", 10); await set.Add("b", 100); await set.Add("c", 1000); await set.Add("d", 10000); await set.Add("e", 100000); await set.Add("f", 1000000); var c = await set.Get("c"); c.Value.Is("c"); c.Rank.Is(2); c.Score.Is(1000); (await set.Remove("c")).IsTrue(); (await set.Remove("c")).IsFalse(); (await set.Get("c")).IsNull(); await set.Add("c", 1000); (await set.RemoveRangeByRank(2, 3)).Is(2); (await set.RangeByRank()).Is("a", "b", "e", "f"); await set.Delete(); await set.Add("a", 10); await set.Add("b", 100); await set.Add("c", 1000); await set.Add("d", 10000); await set.Add("e", 100000); await set.Add("f", 1000000); (await set.RemoveRangeByScore(100, 10000)).Is(3); (await set.RangeByRank()).Is("a", "e", "f"); }