public static Stats GetStatistics(string key)
{
RedisKey[] keyArgs = { key };
RedisValue[] valueArgs = new RedisValue[0];
RedisResult result = SharedCache.Instance.GetWriteConnection(key)
.GetDatabase(SharedCache.Instance.Db)
.ScriptEvaluate(Statistics.GetStatisticHash, keyArgs, valueArgs);
if (null == result)
{
return null;
}
RedisResult[] res = (RedisResult[])result;
long numberOfValues = (long)res[0];
double sumOfValues = (double)res[1];
double sumOfValuesSquared = (double)res[2];
double minimum = (double)res[3];
double maximum = (double)res[4];
return new Stats(numberOfValues, sumOfValues, sumOfValuesSquared, minimum, maximum);
}