WeiXin组件Senpac(七)【Redis缓存策略】

本地缓存策略是存在了内存字典集合里,而Redis缓存把数据存放到了数据库里。Redis相关的库基本上会提供类似Manager之类用来连接数据库的类。首先来一个帮助类可以根据连接字符串生成Manager

public class RedisManager
{
    //对外开放一个属性,用来存放连接字符串
    public static string ConfigurationOption{get;set;}
    //根据连接字符串生成Redis特有的帮助类ConnectionMultiplexer
    //也就是可以通过两种方式获取链接字符串,一种是通过这里的方法,一种是通过属性
    private static ConnectionMuliplexer GetManager(string connectionString=null)
    {
        if(string.IsNullOrEmpty(connectionString))
        {
            if(ConfigurationOption == null)
            {
                connectionString=GetDefaultConnectionString();
            }
            else
            {
                return ConnectionMultiplexer.Connection(ConfigurationOptions.Parse(ConfigurationOption));
            }
        }
        return ConnectionMultplexer.Connect(connectionString);
    }
    private static string GetDefaultConnectionString()
    {
        return "localhost";
    }
    //ConnectionMultiplexer通过单例的方式开放出去
    internal static ConnectionMultiplexer _redis
    {
        get
        {
            return Nested.instance;
        }
    }
    class Nested
    {
        static Nested(){}
        internal static readonly ConnectionMultiplexer instance = GetManager();
    }
    public static ConnectionMultiplexer Manager
    {
        get
        {
            return _redis;
        }
    }
}

以上,可以单例获取到了ConnectionMultiplexer,接下了就是实现缓存接口。

public class RedisObjectCacheStrategy : BaseCacheStrategy, IObjectCacheStrategy
{
    internal ConnectionMultiplexer _client;
    public RedisObjectCacheStrategy()
    {
        _client = RedisManager.Manager;
    }
    ~RedisObjectCacheStrategy()
    {
        _client.Dispose();
    }
    //其它缓存策略的常规操作和常规方法
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值