概述
Redise在项目中用了很多次,用一次写一次,每次在看前次写的代码时,总是感觉差强人意,刚好项目需要,现在特将Redise的封装过程分享给大家,写的不好,还希望大家提供宝贵意见。
- 封装Redise数据连接对象,RediseManage
首先,Redise的数据库连接以及有关Redise的操作,我均使用了外部DLL文件,StackExchange.Redis.dll,该DLL很成熟稳定,且各大平台有关Redise的操作均在使用该dll文件。废话不多说,开始创建类文件RediseManage
声明Redise数据库连接对象,先贴代码
#region ConnectionMultiplexer 单例
internal static ConnectionMultiplexer _rediseInstance
{
get
{
return NestedRedis.instance;//返回Nested类中的静态成员instance
}
}
class NestedRedis
{
static NestedRedis()
{
}
//将instance设为一个初始化的ConnectionMultiplexer新实例
internal static readonly ConnectionMultiplexer instance = GetManager();
}
#endregion
针对Redise数据库连接对象,我们当然不希望重复声明,重复创建,所以此处使用单例模式创建ConnectionMultiplexer对象,故在此处声明了一个internal【仅允许程序集内访问】前缀的静态对象,当然有人肯定会问,如果只创建一个internal前缀的变量,如果别的项目中需要引用你封装好的Redise操作dll,岂不是无法访问,别急,我们还需暴露一个public的外部可访问的变量,代码如下:
/// <summary>
/// ConnectionMultiplexer
/// </summary>
public static ConnectionMultiplexer RediseConnectionManager
{
get { return _rediseInstance; }
}
ok,这样做的意义何在呢?保护代码安全,没别的想法。
继续,我们还需要定义一个外部可访问的数据库连接字符串变量
/// <summary>
/// 链接设置字符串
/// </summary>
public static string RediseConnectioneString { get; set; }
如果用户没给该变量赋值怎么办,众所周知,Redise的默认访问端口是6379,而且如果redise的配置文件中未设置允许外部访问,则数据库连接为localhost,所以我们还需要配置默认的数据库连接字符串,代码如下:
/// <summary>
/// 默认连接字符串
/// </summary>
/// <returns></returns>
private static string GetDefaultConnectionString()
{
return "localhost";
}
好了,下面就是GetManager方法了,代码很简单,不再做更多赘述
private static ConnectionMultiplexer GetManager(string connectionString = null)
{
if (string.IsNullOrEmpty(connectionString))
{
if (RediseConnectioneString == null)
{
connectionString = GetDefaultConnectionString();
}
else
{
connectionString = ConfigurationOption;
}
}
configueationOptions = ConfigurationOptions.Parse(connectionString);
configueationOptions.AllowAdmin = true;
return ConnectionMultiplexer.Connect(connectionString);
}
ConfigurationOptions.Parse方法,即将数据库连接字符串,转换为ConfigurationOptions对象,有一个地方需要注意一下,那就是,如果需要用到ConnectionMultiplexer对象中的GetServer函数,需要在声明ConfigurationOptions对象时,设置属性AllowAdmin=true,代码如下:
configueationOptions = ConfigurationOptions.Parse(connectionString);
configueationOptions.AllowAdmin = true;
最后
以上就是激动口红为你收集整理的Redise篇-记一次Redise的封装(基础篇)的全部内容,希望文章能够帮你解决Redise篇-记一次Redise的封装(基础篇)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复