.NET使用StackExchange.Redis
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;
namespace ABenNetCore.Redis.Xunit
{
public class RedisClientFactory
{
/// <summary>
/// 连接字符串,一般写在配置文件里面
/// </summary>
private static readonly string ConnectionString = "127.0.0.1:16379,password=123456,connectTimeout=1000,connectRetry=1,syncTimeout=10000";
/// <summary>
/// 上锁,单例模式
/// </summary>
private static object locker = new object();
/// <summary>
/// 连接对象
/// </summary>
private static IConnectionMultiplexer _connection;
/// <summary>
/// 获取并发链接管理器对象
/// </summary>
private static IConnectionMultiplexer _redis;
public static IConnectionMultiplexer Instance
{
get
{
if (_redis == null)
{
lock (locker)
{
_redis = _redis ?? CreateConnection();
return _redis;
}
}
return _redis;
}
}
/// <summary>
/// 创建连接
/// </summary>
/// <returns></returns>
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;
}
}
}
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET

浙公网安备 33010602011771号