RedisClient For .Net

Redis Client For .Net

介绍

  • redis支持各种语言版本的client,其中.net平台下比较火的有ServiceStack.RedisStackExchange.Redis
  • 选择StackExchange.Redis是Stack Exchange出的并被用在 Stack Overflow上,在github上人气高
  • 其次ServiceStack.Redis免费版本有限制的,见https://servicestack.net/download 最底下说明。
  • 支持redis五种类型数据结构、管道、发布订阅、脚本、性能监控等功能,支持同步/异步方式调用。

安装引用

通过NuGet管理控制台输入

Install-Package StackExchange.Redis或
Install-Package StackExchange.Redis.StrongName

windows下安装redis

下载地址

步骤

  • 下载后按提示一步步安装即可,新版本安装后会自动安装好redis服务
  • 如果已经添加过系统变量,则可以直接在cmd里输入命令redis-cli -h 127.0.0.1 -p 6379(如果设置过密码还需要-a参数)连上redis server

常用命令

  • select dbid 切换数据库
  • keys * 显示所有键
  • flushdb 清空数据库
  • info 显示基本信息
  • dbsize 键数量
  • exit 退出

更多命令参考redis doc

示例

获取连接对象

/// <summary>
/// 延时加载主
/// </summary>
private static Lazy<ConnectionMultiplexer> lazyMaster = new Lazy<ConnectionMultiplexer>(() =>
{
    return ConnectionMultiplexer.Connect(ConfigurationManager.AppSettings["MasterRedis"]);
});

/// <summary>
/// 主写
/// </summary>
public static ConnectionMultiplexer writeConn
{
    get
    {
        return lazyMaster.Value;
    }
}

操作redis

/// <summary>
/// 设置键值
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="db">数据库编号</param>
/// <param name="ts">过期时间</param>
/// <param name="conn">连接器</param>
/// <returns></returns>
public static async Task<bool> Set(string key, string value, int db = 0, TimeSpan? ts = null, ConnectionMultiplexer conn = null)
{
    return await GetWriteDb(db, conn).StringSetAsync(key, value, ts);
}

github地址

原文地址:https://www.cnblogs.com/xqhppt/p/5078389.html