using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using StackExchange; using StackExchange.Redis; namespace RedisStuy { /// /// 客户端操作 /// public static class RedisHelper { /// /// 获取 Redis连接 /// (此为共享和线程安全的,可以设计成单例模式) /// public static IConnectionMultiplexer GetConnectionMultiplexer() { ConfigurationOptions options = new ConfigurationOptions(); options.DefaultDatabase = 1; options.AllowAdmin = true; options.EndPoints.Add("127.0.0.1", 6379); IConnectionMultiplexer connection = ConnectionMultiplexer.Connect(options); return connection; } /// /// 获取 默认Reids服务器 /// /// public static IServer GetDefaultRedisServer() { IConnectionMultiplexer connection = GetConnectionMultiplexer(); IServer redisServer = connection.GetServer(connection.GetEndPoints()[0]); return redisServer; } /// /// 获取Redis连接上的所有Redis /// public static List GetAllRedisServer() { List redisServers = new List(); IConnectionMultiplexer connection = GetConnectionMultiplexer(); EndPoint[] endPoints = connection.GetEndPoints(); foreach (EndPoint endPoint in endPoints) { redisServers.Add(connection.GetServer(endPoint)); } return redisServers; } /// /// 获取 Redis数据库 /// public static IDatabase GetRedisDatabase() { IConnectionMultiplexer connection = GetConnectionMultiplexer(); IDatabase redisDatabase = connection.GetDatabase(); return redisDatabase; } /// /// 获取 Redis数据库 /// /// /// redis中数据库编号为0-15,超出则默认为0号数据库 /// public static IDatabase GetRedisDatabase(int databaseIndex) { //redis中数据库为0-15,超出则默认为0号数据库 if (databaseIndex<0 || databaseIndex>=16) { databaseIndex = 0; } IConnectionMultiplexer connection = GetConnectionMultiplexer(); IDatabase redisDatabase = connection.GetDatabase(databaseIndex); return redisDatabase; } } }