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]);