public void Store <T>(T t, object id) where T : IEntityPrivate { var itemkey = GetItemKey <T>(id); var tran = _redis.CreateTransaction(); tran.StringSetAsync(itemkey, _redisSerializer.Serilazer(t)); tran.SetAddAsync(GetSetKey <T>(t.Rid), itemkey); tran.Execute(); }
public void SetToCache <TResponse>(string listkey, string key, TResponse response) { var listurn = listkey; if (string.IsNullOrEmpty(listurn)) { return; } var redis = _connectionMultiplexer.GetDatabase(); var trans = redis.CreateTransaction(); trans.StringSetAsync(key, RedisSerializer.Serilazer(response), new TimeSpan(0, 0, 30)); trans.ListRightPushAsync(listurn, key); trans.Execute(); if (redis.ListLength(listurn) >= 4) {//保存4条 var removekey = redis.ListLeftPop(listurn); redis.KeyDelete(removekey.ToString()); } }