ldqk 7 years ago
parent
commit
38f3f8d6d2

+ 1 - 1
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.0</TargetFramework>
-    <Version>2.1.1</Version>
+    <Version>2.1.1.1</Version>
     <Authors>懒得勤快</Authors>
     <Company>masuit.com</Company>
     <Description>包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,html处理,验证码、NoSql等常用封装。

+ 9 - 14
Masuit.Tools.Core/NoSQL/RedisHelper.cs

@@ -1,10 +1,10 @@
-using System;
+using Newtonsoft.Json;
+using StackExchange.Redis;
+using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
-using Newtonsoft.Json;
-using StackExchange.Redis;
 
 namespace Masuit.Tools.NoSQL
 {
@@ -17,13 +17,9 @@ namespace Masuit.Tools.NoSQL
         private readonly ConnectionMultiplexer _conn;
 
         /// <summary>
-        /// Redis服务器连接字符串,默认为:127.0.0.1:6379,allowadmin=true<br/>
+        /// Redis服务器默认连接字符串,默认为:127.0.0.1:6379,allowadmin=true<br/>
         /// </summary>
-        public static string RedisConnectionString
-        {
-            get => "127.0.0.1:6379,allowadmin=true";
-            set { }
-        }
+        public static string RedisConnectionString { get; set; } = "127.0.0.1:6379,allowadmin=true";
 
         /// <summary>
         /// 自定义键
@@ -63,7 +59,8 @@ namespace Masuit.Tools.NoSQL
         /// <summary>
         /// 静态连接池
         /// </summary>
-        public static ConcurrentDictionary<string, ConnectionMultiplexer> ConnectionCache { get; set; } = new ConcurrentDictionary<string, ConnectionMultiplexer>();
+        private static ConcurrentDictionary<string, ConnectionMultiplexer> ConnectionCache { get; set; } = new ConcurrentDictionary<string, ConnectionMultiplexer>();
+
         #region 构造函数
 
         /// <summary>
@@ -192,8 +189,7 @@ namespace Masuit.Tools.NoSQL
         /// <returns>是否保存成功</returns>
         public bool SetString(List<KeyValuePair<RedisKey, RedisValue>> keyValues)
         {
-            List<KeyValuePair<RedisKey, RedisValue>> newkeyValues =
-                keyValues.Select(p => new KeyValuePair<RedisKey, RedisValue>(AddSysCustomKey(p.Key), p.Value)).ToList();
+            List<KeyValuePair<RedisKey, RedisValue>> newkeyValues = keyValues.Select(p => new KeyValuePair<RedisKey, RedisValue>(AddSysCustomKey(p.Key), p.Value)).ToList();
             return Do(db => db.StringSet(newkeyValues.ToArray()));
         }
 
@@ -302,8 +298,7 @@ namespace Masuit.Tools.NoSQL
         /// <returns>是否保存成功</returns>
         public async Task<bool> SetStringAsync(List<KeyValuePair<RedisKey, RedisValue>> keyValues)
         {
-            List<KeyValuePair<RedisKey, RedisValue>> newkeyValues =
-                keyValues.Select(p => new KeyValuePair<RedisKey, RedisValue>(AddSysCustomKey(p.Key), p.Value)).ToList();
+            List<KeyValuePair<RedisKey, RedisValue>> newkeyValues = keyValues.Select(p => new KeyValuePair<RedisKey, RedisValue>(AddSysCustomKey(p.Key), p.Value)).ToList();
             return await Do(async db => await db.StringSetAsync(newkeyValues.ToArray()));
         }
 

+ 1 - 0
Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj

@@ -63,6 +63,7 @@
     <Reference Include="System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Buffers.4.4.0\lib\netstandard1.1\System.Buffers.dll</HintPath>
     </Reference>
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.IO.Compression" />
     <Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">

+ 23 - 4
Masuit.Tools.NoSQL.MongoDBClient/MongoDbClient.cs

@@ -1,13 +1,14 @@
-using System;
+using Masuit.Tools.Systems;
+using MongoDB.Bson;
+using MongoDB.Driver;
+using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
+using System.Configuration;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Runtime.Remoting.Messaging;
 using System.Threading.Tasks;
-using Masuit.Tools.Systems;
-using MongoDB.Bson;
-using MongoDB.Driver;
 
 namespace Masuit.Tools.NoSQL.MongoDBClient
 {
@@ -46,6 +47,24 @@ namespace Masuit.Tools.NoSQL.MongoDBClient
             return instance;
         }
 
+        /// <summary>
+        /// 获取mongo默认单例
+        /// </summary>
+        /// <param name="url">连接字符串</param>
+        /// <param name="database">数据库</param>
+        /// <returns></returns>
+        public static MongoDbClient GetDefaultInstance(string database)
+        {
+            string cs = ConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString ?? "mongodb://127.0.0.1:27017";
+            InstancePool.TryGetValue(cs + database, out var instance);
+            if (instance is null)
+            {
+                instance = new MongoDbClient(cs, database);
+                InstancePool.TryAdd(cs + database, instance);
+            }
+            return instance;
+        }
+
         /// <summary>
         /// 获取mongo线程内唯一对象
         /// </summary>