ServiceStack.Redis高效封装和简易破解
1.ServiceStack.Redis封装 封装的Redis操作类名为RedisHandle,如下代码块(只展示部分代码),它的特点: 1)使用连接池管理连接,见代码中的PooledClientManager属性。如果不用连接池,而是代码直接RedisClient client = new RedisClient("localhost", 6379, "password");去获取一个连接实例操作,那么当Redis操作频繁时,代价很大,不可行。 2)支持读写分离的Redis服务端(如果你只用一个Redis服务端,那么读写服务端连接字符串一样即可)。 3)操作Redis时,自动切换读写Redis连接实例,见代码中的GetRedisClient函数,所有写操作取“写连接实例”PooledClientManager.GetClient(),所有读操作取“读连接实例”PooledClientManager.GetReadOnlyClient()。 注意:如果你读写是两个做了主从复制的Redis服务端,那么要考虑主从复制是否有延迟,是否有一些读操作要求实时数据,如果是,那么需要在GetXX读数据时用写连接实例。这时候,可以改写此GetXX函数,可在函数参数末尾增加 bool? isReadOnly = null 带默认值的参数,即支持外部调用指定用哪种连接实例操作