代码之家  ›  专栏  ›  技术社区  ›  rogeriopvl

选择什么只存储一个整数?Sqlite?还是文本文件?

  •  5
  • rogeriopvl  · 技术社区  · 16 年前

    我已经用PHP构建了一个小型web服务。我想控制对特定API方法的调用数量。

    我一开始考虑使用文本文件,因为它只是一个整数。但是在仔细查看SQLite之后,它似乎更方便了。

    这样做对吗?仅仅使用一个文件或者。。。也许是别的什么?

    提前谢谢。

    6 回复  |  直到 16 年前
        1
  •  5
  •   Javier    16 年前

    第三种可能性: memcachedb memcached ,但将其键值存储存储到BDB文件。它不仅具有读写命令,还具有数值的原子递增/递减。

    另一种选择是编写“计数器服务器”。通过套接字获取“读取”和“增量”命令的独立进程。它的优点是很容易实现“原子”增量。它将计数器存储在一个简单的文件中,没有并发问题,因为从来没有多个服务器。

        2
  •  3
  •   Mitch Wheat    16 年前

    数据库通常比文件系统具有更好的可扩展性,但您需要小心,并对这两种机制使用适当的锁。

        3
  •  2
  •   lubos hasko    16 年前

    当然要用平面锉刀。

    • 极其简单
    • 不依赖第三方库
    • 您只需使用普通记事本即可查看或更新计数器。
    • 和SQLite一样可扩展(SQLite只是更复杂的平面文件)

    如果您需要尽可能快的速度完成某项任务,您必须在内存中创建持久化进程以消除I/O瓶颈。但是请。。。只是不要使用SQL数据库来存储单个整数。

        4
  •  1
  •   UnkwnTech    16 年前

        5
  •  1
  •   John Nilsson    16 年前

    你可以用 shared memory 握住柜台,然后 locking

        6
  •  0
  •   jcollum    16 年前

    据SQLite称,它可以处理高达“100K”的站点[ 碳化硅

    关于文件与SQLite的对比,他们有这样的说法:“许多程序使用fopen()、fread()和fwrite()来创建和管理本地格式的数据文件。SQLite作为这些临时数据文件的替代品尤其有效。”( source