繁体   English   中英

Redis StackExchange缓存性能

[英]Redis StackExchange cache performance

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

考虑以下代码

private static ConnectionMultiplexer connection = ConnectionMultiplexer.Connect(...);

public string Get(string key)
{
    IDatabase cache = connection.GetDatabase();
    return cache.StringGet(key);
}

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

是否应该以其他方式进行管理?

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

管理IDatabase的最佳实践是什么?

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

并非如此; 如此处所述

GetDatabase返回的GetDatabase是便宜的直通对象,不需要存储。

当然,您可以根据需要选择存储它。 碰巧,我们这样做-但这仅仅是因为我们使用了不同的数据库编号(用于不同的站点),并且存储IDatabase和存储表示数据库编号的int一样方便。

除此之外,您不必担心太多-如果按需分配,收集起来仍然非常便宜。

唯一值得一说的是, 触摸redis 之前可能需要在内存中进行缓存:redis调用速度很快,但是您未进行的redis调用速度更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM