1、命名空间中的StackExchange.Redis的ConnectionMultiplexer类:线程安全,共享,重用,
2、创建示例:ConnectionMultiplexer redis=ConnectionMultiplexer.connect("127.0.0.1")
由于ConnectionMultiplexer实现了IDisposable接口,故可以在不使用的时候进行释放。
对于主/从设置的redis,只需简单的指定所有节点(它将自动识别主节点)
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("server1:6379,server2:6379");
如果在配置中有2个主节点都是主节点的话,则可以指定用于解决问题的仲裁密钥。
3、使用redis数据库
IDatabase db = redis.GetDatabase();
redis支持多个数据库(集群不支持),但是使用GetDatabase可以指定,对于redisAPI中所有方法都具有同步和异步实现。
4、简单操作:存储和检索
string value = "1";
db.StringSet("mykey", value);
...
string value = db.StringGet("mykey");
Console.WriteLine(value); // writes: "1"
同时 redis运行键和值使用原始的二进制数据。
byte[] key = ..., value = ...;
db.StringSet(key, value);
...
byte[] value = db.StringGet(key);
5、发布、订阅
ISubscriber sub = redis.GetSubscriber();
获取通道对象。
接收通道名称和消息:
sub.Subscribe("messages", (channel, message) => {
Console.WriteLine((string)message);
});
发布通道消息:
sub.Publish("messages", "hello");
访问单独的服务器:
IServer server = redis.GetServer("localhost", 6379);