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);
}
每次调用缓存时调用数据库是否会影响性能?
应该用其他方式管理吗?
应该在对象的生命周期内创建,而不是静态的吗?
管理数据库的最佳实践是什么?
每次调用缓存时调用数据库是否会影响性能?
不明显;如下所示:
当然,如果您愿意的话,可以选择存储它。当它发生时,我们这样做-但这仅仅是因为我们使用不同的数据库编号(针对不同的站点),并且存储从
GetDatabase
返回的对象是一个廉价的直通对象,不需要存储。
IDatabase
与存储代表数据库编号的int
一样方便。
除此之外,你不需要太担心——如果你按需分配,它仍然是非常便宜的收集等。
唯一值得说的是,它可能值得缓存在内存之前你触摸redis:一个redis调用是很快的,但一个redis调用,你不做更快。