csharp;gutter:true;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;</p>
<p>namespace ABenNetCore.Redis.Xunit
{
public class RedisClientFactory
{
///
/// 连接字符串,一般写在配置文件里面
///
private static readonly string ConnectionString = "127.0.0.1:16379,password=123456,connectTimeout=1000,connectRetry=1,syncTimeout=10000";</p>
<pre><code> ///
/// 上锁,单例模式
///
private static object locker = new object();
///
/// 连接对象
///
private static IConnectionMultiplexer _connection;
///
/// 获取并发链接管理器对象
///
private static IConnectionMultiplexer _redis;
public static IConnectionMultiplexer Instance
{
get
{
if (_redis == null)
{
lock (locker)
{
_redis = _redis ?? CreateConnection();
return _redis;
}
}
return _redis;
}
}
///
/// 创建连接
///
///
private static IConnectionMultiplexer CreateConnection()
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
lock (locker)
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
if (_connection != null)
{
_connection.Dispose();
}
_connection = ConnectionMultiplexer.Connect(ConnectionString);
}
return _connection;
}
}
</code></pre>
<p>}
Original: https://www.cnblogs.com/51net/p/16488678.html
Author: 跟着阿笨一起玩.NET
Title: .NET使用StackExchange.Redis
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/528806/
转载文章受原作者版权保护。转载请注明原作者出处!