我有一个状态机,需要为不同的用户推送/弹出一些文件名。传统上,我将使用堆栈作为数据结构的选择,但这需要使用数据库来完成,因为我没有办法在传入的Web请求之间保留数据结构。
我想知道使用数据库实现堆栈功能的好方法是什么?
我需要支持:
- push(fileName,user):为用户推送一个文件名
- pop(user):弹出用户最上面的文件名
编辑:
我正在制作一个原型的原型,因此我将sqlite3与python一起使用。
谢谢!
您期望同一用户具有多个并发连接吗?什么卷?请问什么Db引擎呢?
—
gbn
@gbn最终,同一用户可能具有并发连接。但就目前而言,我正在制作一个原型原型,并假设每位用户使用单个连接
—
brainydexter 2011年
@brainydexter我非常想知道您正在尝试做什么。我感到您可能正在为问题创建错误的解决方案。您可能要考虑告诉我们您的问题,并寻求最佳解决方案。将堆栈实现为数据库表听起来是个坏主意。
—
xenoterracide
@xenoterracide:我想在SO上做的总体意图是:stackoverflow.com/questions/5145051/… 堆栈无法完全工作,因此我仍在寻找解决方案。
—
brainydexter 2011年
@brainydexter并不感到惊讶,SQL是实现堆栈的一种可怕的语言,因为根据关系定义,集合是无序的,因此您的堆栈将没有顺序,因此必须对其进行排序。问题的一部分可能是您正在告诉别人您想要的答案是什么,而您正在询问如何做。与其告诉问题是什么,然后问他们是什么。甚至您的SO问题也将答案引向特定的问题。尝试寻求您不会想到的解决方案。
—
xenoterracide 2011年