Пример #1
0
        /// <summary>
        /// 设置Cache
        /// </summary>
        /// <param name="proxy"></param>
        /// <param name="user"></param>
        static void Cache(RedisProxy proxy, UserData user)
        {
            if (user == null)
            {
                return;
            }
            proxy.SetEntity(user);
            var key = BuildDataKey("name", user.Id);

            proxy.Set(key, user.RealName);

            if (user.DataState >= DataStateType.Discard)
            {
                proxy.RemoveCache <UserData>(user.Id);
                proxy.RemoveKey(BuildDataKey(user.UserName, "id"));
                proxy.RemoveKey(BuildDataKey(user.UserName, "pwd"));
                return;
            }
            if (user.DataState == DataStateType.Enable)
            {
                proxy.Set(BuildDataKey(user.UserName, "pwd"), user.PassWord);
                proxy.SetValue(BuildDataKey(user.UserName, "id"), user.Id);
            }
            else
            {
                proxy.RemoveKey(BuildDataKey(user.UserName, "id"));
                proxy.RemoveKey(BuildDataKey(user.UserName, "pwd"));
            }
        }