RedisClient For .Net
介绍
- redis支持各种语言版本的client,其中.net平台下比较火的有ServiceStack.Redis和StackExchange.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);
}