如果是一个对外的ws,我想给ws加上一个访问限制,不让别人刷这个服务(比如1秒内调用几十次服务),有没有什么好的办法?
现在假定IP是辨认客户端身份的标示,我通过IP来限制,比如某个IP一分钟内允许访问60次,超过60次访问的,我直接返回掉,或者throw exception。
现在的问题是,如果记录那些IP,来供我比对呢?记数据库就不考虑了,消耗太高;记文本,我怕并发量高时会出错;我现在想用cache来记这些信息,因为cache的读取速度快,而且相对安全,但是我不太清楚,并发量如果很大的情况下,用cache会不会有问题,请各位高手给个解答,谢谢~~

解决方案 »

  1.   

    cache本来就是能被多个用户共享的,并发方面应该没有问题。不过cache在某些情况下(如服务器内存紧张)是会失效的,要注意刷新
      

  2.   

    我看网上说,频繁的读写的话,用cache不是很好,但也没说出个所以然来,不知道有没有大虾解释下,为什么?
      

  3.   

    如果用cache一定要保存服务器内存的容量,否则会频繁失效。