1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using Microsoft.Extensions.Options;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Fuel.Infrastructure.Extension
- {
- public class RedisListOptions : IOptions<RedisListOptions>
- {
- public List<RedisConfig> RedisConfigs { get; set; }
- public RedisListOptions Value => this;
- public RedisListOptions()
- {
- RedisConfigs = new List<RedisConfig>();
- }
- /// <summary>
- /// 添加的redis
- /// </summary>
- /// <param name="redisConfig"></param>
- public void TryAdd(RedisConfig redisConfig)
- {
- if (!RedisConfigs.Any(p => p.Connection == redisConfig.Connection && p.DataBase== redisConfig.DataBase))
- {
- RedisConfigs.Add(redisConfig);
- }
- }
- public void Set(RedisConfig redisConfig)
- {
- if (!RedisConfigs.Any(p => p.Connection == redisConfig.Connection && p.DataBase == redisConfig.DataBase))
- {
- RedisConfigs.Remove(redisConfig);
- }
- RedisConfigs.Add(redisConfig);
- }
- }
- /// <summary>
- /// redis config 配置
- /// </summary>
- public class RedisConfig
- {
- /// <summary>
- /// url 地址
- /// </summary>
- public string Connection { get; set; }
- /// <summary>
- /// 数据库编号
- /// </summary>
- public int DataBase { get; set; }
- /// <summary>
- /// 链接名称
- /// </summary>
- public string KeyName { get; set; }
- /// <summary>
- /// 缓存key 的前缀
- /// </summary>
- public string PrefixKey { get; set; }
- /// <summary>
- /// 哨兵地址
- /// </summary>
- public string[] Sentinels {get;set;}
- }
- }
|