枚举与缓存?哪一个更好
我刚刚发现一些同事经常使用 Enum。并使用 Enum 作为某些列表的某种数据存储,例如状态列表、角色列表等。我不确定这是否是处理此类数据的好方法。我想将一些数据放入数据库,然后将它们读入缓存,而不是将数据放入代码本身。
I just found out that some co_workers are using Enum a lot. And using Enum as some kind of data store for some lists, like status list, role list, etc.. And I am not sure if this is a good way to deal with this kind of data. I would like to put some data into DB and then read them into cache instead of putting the data into the code itself.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
enum
与数据库表的决定取决于您是否期望在系统运行时添加/删除其他值。例如:
使用
enum
表示:付款方式(现金、支票或信用卡)
计费频率(每日、每周) 、每月、每季度)
性别
状态
使用数据库表:
送货承运商(FedEx、UPS、???)
产品类别(书籍、音乐、游戏、???)
航空公司
The decision of
enum
vs. database table depends on whether you expect additional values to be added/removed while the system is in production.For example:
Use
enum
for:Payment method (cash, check or credit card)
Billing frequency (daily, weekly, monthly, quarterly)
Gender
Status
Use a database table for:
Carrier for delivery (FedEx, UPS, ???)
Product category (books, music, games, ???)
Airline
回答我自己的问题。这将是政治正确的答案“这取决于......”。
这是50%-50%的问题。
对于喜欢 Enum 的开发人员来说,Enum 可以非常有帮助,而且代码可以非常清晰......
对于讨厌 Enum 的开发人员来说,Enum 只不过是另一个名字的 Const,每次添加新状态时,你都必须将这个新状态添加到 Enum 中,......
To answer my own quetsion. It will be the political correct answer "It depends.....".
This is 50%-50% question.
For developers who like Enums, Enum can be very helpful and the code can be very clear...
For developers who hate Enums, Enum is nothing but Const in another name and everytime there is a new status added, you have to add this new status to the Enum, .....