src/Library/NetPro.StackExchange.Redis/StackExchange.Redis.Extensions.Core/Implementations/RedisDatabase.cs
(开头部分) 42KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using RedLockNet.SERedis;
using RedLockNet.SERedis.Configuration;
using StackExchange.Redis;
using StackExchange.Redis.Extensions.Core.Abstractions;
using StackExchange.Redis.Extensions.Core.Configuration;
using StackExchange.Redis.Extensions.Core.Extensions;
using StackExchange.Redis.Extensions.Core.Models;
using StackExchange.Redis.Extensions.Core.ServerIteration;
using StackExchange.Redis.KeyspaceIsolation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace StackExchange.Redis.Extensions.Core.Implementations
{
public partial class RedisDatabase : IRedisDatabase
{
private readonly ILogger _logger;
private readonly IRedisCacheConnectionPoolManager connectionPoolManager;
private readonly ServerEnumerationStrategy serverEnumerationStrategy = new ServerEnumerationStrategy();
private readonly string keyPrefix;
private readonly uint maxValueLength;
private readonly int dbNumber;
private IMemoryCache _memorycache;
/// <summary>
/// 对象的新实例初始化 <see cref="RedisDatabase"/> class.
/// </summary>
/// <param name="connectionPoolManager">连接池管理器。</param>
/// <param name="serializer">序列化</param>
/// <param name="serverEnumerationStrategy">服务器枚举策略</param>
/// <param name="dbNumber">要使用的数据库序号.</param>
/// <param name="maxvalueLength">缓存对象的最大长度</param>
/// <param name="keyPrefix">key前缀</param>
public RedisDatabase(
IRedisCacheConnectionPoolManager connectionPoolManager,
ISerializer serializer,
ServerEnumerationStrategy serverEnumerationStrategy,
int dbNumber,
uint maxvalueLength,
string keyPrefix = null,
ILogger logger = null,
IMemoryCache memorycache = null)
{
_logger = logger ?? NullLogger<RedisDatabase>.Instance;
Serializer = serializer ?? throw new ArgumentNullException(nameof(serializer));
this.serverEnumerationStrategy = serverEnumerationStrategy ?? new ServerEnumerationStrategy();
this.connectionPoolManager = connectionPoolManager ?? throw new ArgumentNullException(nameof(connectionPoolManager));
this.dbNumber = dbNumber;
this.keyPrefix = keyPrefix;
maxValueLength = maxvalueLength;
_memorycache = memorycache;
}
public IDatabase Database
后面还有 1033 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。