Mysql 缓存每个用户的查询结果

Mysql 缓存每个用户的查询结果,mysql,performance,security,Mysql,Performance,Security,我有一个系统(由其他人开发),所有注册用户都可以查询数据(类似于data.stackexchange.com)。系统越来越大,越来越多的用户查询系统,在高流量时间,数据库速度很慢,我现在担心安全性 如何使系统更安全 我可以做些什么来加快查询的执行速度 我对mysql和数据库有非常基础的知识,我想学习。你能指出我需要看的地方吗?我能做什么?(我想构建我自己,所以请不要编写代码)好吧,你有两个大任务要做:) 如何使系统更安全?那么,在需要的地方使用SSL。如果数据不重要,你可以不用它。也就是说,如果

我有一个系统(由其他人开发),所有注册用户都可以查询数据(类似于data.stackexchange.com)。系统越来越大,越来越多的用户查询系统,在高流量时间,数据库速度很慢,我现在担心安全性

  • 如何使系统更安全
  • 我可以做些什么来加快查询的执行速度

  • 我对mysql和数据库有非常基础的知识,我想学习。你能指出我需要看的地方吗?我能做什么?(我想构建我自己,所以请不要编写代码)

    好吧,你有两个大任务要做:)

  • 如何使系统更安全?那么,在需要的地方使用SSL。如果数据不重要,你可以不用它。也就是说,如果你想超级安全地登录,那么就坚持使用HTTPS。除此之外,请确保从不直接比较密码,而是比较密码的哈希值(包括salt)。此外,如果您的网站允许人们记住,请使用基于令牌的方法。这允许您在有效的一段时间内为客户端分配唯一的cookie ID。这不是傻瓜式的,但总比没有好。配合您的SSL登录要求,这将是非常好的

  • 看看缓存管理器。但是在你做之前,先看看什么是花费时间最多的。哪些特定页面对您的网站影响最大?一旦你确定你可以想出一个缓存策略,不幸的是,它完全依赖于网站。对一个网站有效的东西,对你来说是不可取的。您可以使用某种memcache来存储公共内容,以便高效地缓存基本的“首页”和“门户”查询。其余的将不得不以常规方式处理


  • HTTPS不能防止SQL注入。为什么不在表中缓存结果呢?您可以在stackvoerflow上查找“sql注入”和“缓存mysql结果”