public static void Generate(X509Certificate2 cert) { Console.WriteLine($"----------JWT BELOW-----------"); var userData = new UserCacheData() { AccessKey = Guid.NewGuid().ToString(), FirmId = DateTime.Now.Millisecond, UserId = DateTime.Now.Millisecond + 19, FavoritePet = DateTime.Now.Millisecond % 2 == 0 ? "Cat" : "Hamster", }; userData.UserAttributes["Attribute1"] = "CatName"; userData.UserAttributes["Attribute2"] = "DocName"; userData.UserAttributes["Attribute3"] = "IceCreamFlavor"; var jwt = JwtHelper.GetJwt(cert, userData.AccessKey, userData.UserId, userData.FirmId); var config = RedisConfiguration.CreateFromString(ConfigurationManager.AppSettings["RedisConnString"]); using (var cli = new RedisClient(config, new NewtonsoftSerializer())) { cli.AddObject(userData.AccessKey, userData); } Console.WriteLine(jwt); Console.WriteLine($"----------END JWT-----------"); }
/// <summary> /// 从缓存中读取用户缓存信息 /// </summary> /// <param name="userId">目标用户编号</param> /// <returns>用户缓存信息</returns> public static UserCacheInfo ReadUserCacheInfo(int userId) { UserCacheData cacheData = userId.GetUserCacheFromStorage(); if (null != cacheData && null != cacheData.CacheData && cacheData.CacheData.Length > 0) { return(cacheData.CacheData.ProtoBufDeserialize <UserCacheInfo>()); } UserCacheInfo cacheInfo = ReadUserCacheInfoFromDb(userId); if (null == cacheInfo) { return(cacheInfo); } cacheData = new UserCacheData { UserId = cacheInfo.UserId, CacheData = cacheInfo.ProtoBufSerialize <UserCacheInfo>() }; cacheData.UserCacheStorage(); return(cacheInfo); }