2011-02-10 61 views
0

我有一个isapi文件管理器,我想添加一个基于传入域的逻辑(我的服务器场托管许多域)。 有域列表是动态的,我可以将这些域列表导出到文本文件并从isapi中读取,但是有没有办法将这个文件保存在内存中(是数组或链表)来保存IO调用。 类似于全局应用程序状态。Isapi筛选器 - 状态

回答

1

您的工作进程在您的服务器上如何分布?你有一台服务器有一个工作进程还是多台服务器?

  • 如果你有一个工作进程一台服务器,你可以只读取该文件为静态数组或字符串来管理它(只是确保你考虑并发线程读取/同时修改它)

  • 如果只有一台服务器上有多个工作进程,则可以使用命名共享内存。我之前在ISAPI过滤器中使用过这个功能来共享信息,并且它工作得很好。它甚至应该考虑到并发性。你可以在这里阅读更多:http://msdn.microsoft.com/en-us/library/aa366551%28v=vs.85%29.aspx

  • 如果你分布在多个服务器上,你可以使用像memcached这样的分布式缓存。这个设置起来比较复杂,但它会给你带来不错的表现。有一个线程设置在这里:C++ api for memcache