Redis StackExchange缓存性能

本文关键字:性能 缓存 StackExchange Redis | 更新日期: 2023-09-27 18:09:59

我正在尝试使用Azure的Redis StackExchange更改提供程序,只是想知道最好的设置。

考虑以下代码
private static ConnectionMultiplexer connection = ConnectionMultiplexer.Connect(...);
public string Get(string key)
{
    IDatabase cache = connection.GetDatabase();
    return cache.StringGet(key);
}

每次调用缓存时调用数据库是否会影响性能?

应该用其他方式管理吗?

应该在对象的生命周期内创建,而不是静态的吗?

管理数据库的最佳实践是什么?

Redis StackExchange缓存性能

每次调用缓存时调用数据库是否会影响性能?

不明显;如下所示:

GetDatabase返回的对象是一个廉价的直通对象,不需要存储。

当然,如果您愿意的话,可以选择存储它。当它发生时,我们这样做-但这仅仅是因为我们使用不同的数据库编号(针对不同的站点),并且存储IDatabase与存储代表数据库编号的int一样方便。

除此之外,你不需要太担心——如果你按需分配,它仍然是非常便宜的收集等。

唯一值得说的是,它可能值得缓存在内存之前你触摸redis:一个redis调用是很快的,但一个redis调用,你不做更快。