使用StackExchange.Redis的正确方法
这个想法是使用更少的连接和更好的性能。连接是否随时终止?
对于另一个问题,是否_redis.GetDatabase()
打开新连接?
private static ConnectionMultiplexer _redis;private static IDatabase _db;
public RedisCacheProvider(string configuration)
{
if (_redis == null)
lock (myLock)
if (_redis == null)
{
_redis = ConnectionMultiplexer.Connect(configuration);
_db = _redis.GetDatabase();
}
}
public async Task<string> GetString(string key)
{
string result = null;
RedisValue val = await _db.StringGetAsync(key);
if (val.HasValue)
result = val;
return result;
}
回答:
不,多路复用器不会过期。没有GetDatabase不会打开新连接。basics.md涵盖了所有内容
-特别是:
从GetDatabase返回的对象是便宜的直通对象,不需要存储。
以上是 使用StackExchange.Redis的正确方法 的全部内容, 来源链接: utcz.com/qa/435824.html