前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET使用StackExchange.Redis

.NET使用StackExchange.Redis

作者头像
跟着阿笨一起玩NET
发布2022-09-08 11:47:34
4200
发布2022-09-08 11:47:34
举报
代码语言:javascript
复制
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;
        }
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档