string connection = "127.0.0.1:6379,password=xxxxx,connectRetry=5";
[TestMethod]public voidTestSet()
{var mutlti =StackExchange.Redis.ConnectionMultiplexer.Connect(connection);var db = mutlti.GetDatabase(0);
db.HashSetAsync("student1", newStackExchange.Redis.HashEntry[] {new StackExchange.Redis.HashEntry("name", "song"),new StackExchange.Redis.HashEntry("age", 11),new StackExchange.Redis.HashEntry("sex", "boy")
}).GetAwaiter().GetResult();
db.HashSetAsync("student2", newStackExchange.Redis.HashEntry[] {new StackExchange.Redis.HashEntry("name", "wang"),new StackExchange.Redis.HashEntry("age", 22),new StackExchange.Redis.HashEntry("sex", "girl")
}).GetAwaiter().GetResult();
mutlti.Close(true);
}
[TestMethod]public voidTestGetList()
{var mutlti =StackExchange.Redis.ConnectionMultiplexer.Connect(connection);var endpoints =mutlti.GetEndPoints();
List keyList = new List();foreach (var ep inendpoints)
{var server =mutlti.GetServer(ep);var keys = server.Keys(0, "*");foreach (var item inkeys)
{
keyList.Add((string)item);
}
}var db = mutlti.GetDatabase(0);
mutlti.Close(true);throw new Exception(string.Join(",", keyList));
}
[TestMethod]public voidTestGetTime()
{var mutlti =StackExchange.Redis.ConnectionMultiplexer.Connect(connection);var db = mutlti.GetDatabase(0);var server = mutlti.GetServer(mutlti.GetEndPoints()[0]);var timeNow =server.Time().ToUniversalTime();var time = db.KeyTimeToLive("student2");var expire = time == null ? (DateTime?)null : timeNow.Add(time.Value); //返回UTC时间。
throw new Exception(expire.Value.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss"));
}
[TestMethod]public voidTestSetTime()
{var mutlti =StackExchange.Redis.ConnectionMultiplexer.Connect(connection);var db = mutlti.GetDatabase(0);
db.KeyExpire("student2", DateTime.Now.AddHours(2));
}
[TestMethod]public voidTestNotifyOnExpire()
{//URL:https://docs.azure.cn/zh-cn/redis-cache/cache-configure
//填一个"__keyevent@*__:expired*"试试//如果不行的话,再改填成:"Kxg"这试试
var tsk = Task.Factory.StartNew(() =>{var mutlti =StackExchange.Redis.ConnectionMultiplexer.Connect(connection);var subscriber =mutlti.GetSubscriber();
subscriber.Subscribe("__keyspace@0__:*", (channel, notificationType) =>{
Debug.WriteLine(channel+ "|" +notificationType);
});while (true)
{
Thread.Sleep(1000);
}
});
tsk.Wait();
}