Login
网站首页 > 文章中心 > 其它

在C#中使用Redis_在c++中

作者:小编 更新时间:2023-08-12 20:13:45 浏览量:34人看过

第二段:将解压后的文件中下面四个dll引用到项目中

在C#中使用Redis_在c++中

第三段:用C#对redis来进行简单的读取和写入操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Common.Extensions;
using ServiceStack.Redis;
using ServiceStack.Logging;
using System.Threading.Tasks;

namespace RedisDemo.Redis
{
public class RedisConfigInfo
    //唯一实例
    private static RedisConfigInfo uniqueInstance;

    //public static int RedisMaxReadPool = int.Parse(ConfigurationManager.AppSettings["redis_max_read_pool"]);

    //public static int RedisMaxWritePool = int.Parse(ConfigurationManager.AppSettings["redis_max_write_pool"]);
    //定义一个标识确保线程同步

    private static readonly object locker = new object();

    private readonly string[] redisHosts = null;
    //链接池管理对象
    private PooledRedisClientManager _pool;
    //私有构造方法
    private RedisConfigInfo()
        //创建连接池管理对象
        var redisHostStr = "12⑦0.0.1:6379";
        redisHosts = redisHostStr.Split(',');
        CreateRedisPoolManager(redisHostStr.Split(','), redisHostStr.Split(','));
    /// 
    /// 
    /// 
    /// 
    /// 
    private void CreateRedisPoolManager(string[] redisWriteHost, string[] redisReadHost)
        _pool = new PooledRedisClientManager(redisWriteHost, redisReadHost, new RedisClientManagerConfig()
            MaxWritePoolSize = redisHosts.Length * 5,
            MaxReadPoolSize = redisHosts.Length * 5,
            AutoStart = true
    //唯一全局访问点
    public static RedisConfigInfo GetRedisConfigInfo()
        //双重锁定
        if (uniqueInstance == null)
            lock (locker)
                if (uniqueInstance == null)
                    uniqueInstance = new RedisConfigInfo();
        return uniqueInstance;
    public T _GetKey(string key)
        if (string.IsNullOrEmpty(key))
            return default(T);
        T obj = default(T);
        try
            if (_pool != null)
                using (var r = _pool.GetClient())
                    if (r != null)
                        r.SendTimeout = 1000;
                        obj = r.Get(key);
        catch (Exception ex)
            string msg = string.Format("{0}:{1}发生异常!{2}", "cache", "获取", key);
        return obj;
    public bool _AddKey(string key, T value)
        if (value == null)
            return false;
        try
            if (_pool != null)
                using (var r = _pool.GetClient())
                    if (r != null)
                        r.SendTimeout = 1000;
                        return true;
        catch (Exception ex)
            string msg = string.Format("{0}:{1}发生异常!{2}", "cache", "存储", key);
        return false;
}
}

RedisConfigInfo.cs

以上就是土嘎嘎小编为大家整理的在C#中使用Redis相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章