zoukankan      html  css  js  c++  java
  • C# Redis写入程序

    直接贴代码,需要引用ServiceStack.Common.dll,ServiceStack.Interfaces.dll,ServiceStack.Redis.dll,ServiceStack.Text.dll

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using ServiceStack.Redis;

    namespace RedisDemo
    {
    /// <summary>
    /// RedisManager类主要是创建链接池管理对象的
    /// </summary>
    public class RedisManager
    {
    /// <summary>
    /// redis配置文件信息
    /// </summary>
    public static string RedisPath = ConfigurationManager.AppSettings["RedisPath"];

    private static PooledRedisClientManager _prcm;

    /// <summary>
    /// 静态构造方法,初始化链接池管理对象
    /// </summary>
    static RedisManager()
    {
    CreateManager();
    }

    /// <summary>
    /// 创建链接池管理对象
    /// </summary>
    public static void CreateManager()
    {
    _prcm = CreateManager(new string[] { RedisPath }, new string[] { RedisPath });
    }

    /// <summary>
    /// 关闭redis连接
    /// </summary>
    public void CloseCon()
    {
    try
    {
    _prcm.Dispose();
    Console.WriteLine("Redis Dispose...");
    }
    catch (Exception e)
    {
    Console.WriteLine(e.Message);
    }
    }

    /// <summary>
    /// 设置redis
    /// </summary>
    /// <param name="key"></param>
    /// <param name="value"></param>
    /// <returns></returns>
    public bool Set(string key, string value)
    {
    using (IRedisClient client = _prcm.GetClient())
    {
    return client.Set(key, value);
    }
    }

    private static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
    {
    #region
    //WriteServerList:可写的Redis链接地址。
    //ReadServerList:可读的Redis链接地址。
    //MaxWritePoolSize:最大写链接数。
    //MaxReadPoolSize:最大读链接数。
    //AutoStart:自动重启。
    //LocalCacheTime:本地缓存到期时间,单位:秒。
    //RecordeLog:是否记录日志,该设置仅用于排查redis运行时出现的问题,如redis工作正常,请关闭该项。
    //RedisConfigInfo类是记录redis连接信息,此信息和配置文件中的RedisConfig相呼应
    #endregion
    // 支持读写分离,均衡负载
    return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
    {
    MaxWritePoolSize = 50, // “写”链接池链接数
    MaxReadPoolSize = 50, // “读”链接池链接数
    AutoStart = true,
    });
    }

    public string Get(string value)
    {
    using (IRedisClient client = _prcm.GetClient())
    {
    return client.Get<string>(value);
    }
    }

    }
    }

  • 相关阅读:
    精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #4 如何使用Git
    《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #3 如何编写内核模块
    《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #2 如何编译Linux内核
    《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #1 如何获取Linux内核
    [失败]SystemTap和火焰图(Flame Graph)
    yum安装nagois
    yum安装cacti
    笔记本制作centos qcow2格式文件
    【失败】CentOS 6.5安装VNCserver 并开启远程桌面
    Linux 性能分析的前 60 秒
  • 原文地址:https://www.cnblogs.com/wangjunguang/p/9494722.html
Copyright © 2011-2022 走看看