如何存储站点广角点系统的用户级别?在数据库中?还是在飞行中?

问题描述

| 我正在网站上构建用户体验/级别系统。我试图达到的效果与流行的游戏网站Kongregate相似,当用户在网站上完成特定操作时,他们将获得积分。一旦积分达到一定数量,用户就会升级。这具有使站点具有游戏感的效果,同时也吸引了用户的注意力。 我遇到的问题是找出最好的方法是... 1.将每个级别存储在数据库表中,然后通过ID将用户匹配到该级别? 2.或存储用户对已完成操作的体验,然后在每次需要调用此级别时将其累加起来? 还应注意的是,该级别将用于确定该系统的其他方面。即,级别为10的用户将为其个人资料获得更多的schwag,可以在网站上添加功能,等等... LA StackO。 关于正确方向的任何指示?     

解决方法

         将级别及其关联的“赃物” /“特权”存储在数据库中。 将用户的当前级别存储在数据库中的个人资料中。 将导致点数的用户操作存储在数据库中 当他们从您的网站中添加点(通过评论,玩游戏或其他方式)时,可以即时进行计算,但是一旦确定添加完毕,就将其存储在数据库中(在actions表中)并更新总点数(在用户表或其他表格中),以便网站的其他部分可以使用。 这使一切变得容易: 当您想查看他们拥有哪些特权时,只需将其总数与下一个最低(或相等)的“赃物”级别进行比较即可 当您想获得他们的总数时,只需一次调用,而不是一堆查询和数学运算 当您想显示他们所做的事情的列表时,就可以在数据库中找到它 您不会通过在需要显示总数的每种不同类型的页面上加总代码来重复代码。 ...可能还有其他原因。出于某种原因,数据是以工具的名义出现的。     ,        我认为,每当用户获得更多积分时,最好确定“等级”。因此,当他/她做了一些事情以获取更多积分时,就可以在那里进行计算。如果该点需要提高等级,请在用户的个人资料中更改level_id。这样,您可以最小化服务器端的计算。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...