需求描述:
客户端每隔5分钟向服务端请求验证,验证字段包括用户名,密码存在于sql server数据库中。现在大概每分钟有100次验证请求,如果每次都去查询数据库肯定会撑不住,现在想请教大家有什么好的方法去做到快速高效。如何做?我有自己想过一种解决办法,不知道是否可行,将已经验证用户缓存起来,当有新验证时候想查询缓存是否已经验证成功,不成功则查询数据库。但是随之而来有个问题,如何缓存,使用什么缓存?忘大家赐教。

解决方案 »

  1.   

    数据库自身带一个缓冲区的,oracle有,sql server我猜也会有吧。
      

  2.   

    你可以把要验证的所有数据先暂存在本地(用一个adoquery控件存储),然后在你本地做判断
      

  3.   

    需要這麽頻繁的驗證請求,建議在本地驗證,
    當本地和服務器的數據不一樣的時候,
    再去服務器Update新的數據到本地.
      

  4.   

    Delphi 里有一个容器单元Contnrs。里面有一个类TObjectBucketList。TObjectBucketList is a simple hash table that stores objects that are identified by other objects.
    TObjectBucketList 是一个简单的散列表,可以用一个唯一的标示来储存一个对象。放在你的三层结构的第二层。
      

  5.   

    如果不是三层结构,建议在服务器上写个tcp程序直接到客户端链接验证