我正在使用 Azure Application Insights 来跟踪请求中的操作。
我实现了redis,将数据存储到密钥中,并将过期时间设置为1天。这是测试方法:
public async Task<IReadOnlyCollection<FoodDescriptionModel>> SearchIngredientAsync(string name)
{
_redisCache.TryGetValue("FoodDescriptionModelCollection", out IReadOnlyCollection<FoodDescriptionModel> cached);
return cached.Where(x => x.LongDescription.Contains(name)).ToList() as IReadOnlyCollection<FoodDescriptionModel>;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
很难判断您使用的是哪种 Redis 客户端,但看起来不像 StackExchange 或 ServiceStack。如果您提供以下类型,将会很有帮助_redisCache
Application Insights 尚未自动跟踪对 Redis 的调用(使用任何客户端),但您可以手动跟踪它们,以下是一个示例StackExchange.Redis.IDatabase.StringSet
:
private async Task<bool> StringSetTrackedAsync(RedisKey key, string value)
{
var dependency = new DependencyTelemetry()
{
Type = "Redis",
Name = "SetStringAsync"
};
dependency.Properties["key"] = key;
using (telemetryClient.StartOperation(dependency))
{
var result = await cache.StringSetAsync(key, value);
dependency.Success = result;
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以添加 Redis 主机等详细信息,或删除您不希望出现在遥测中的内容。