小生不才 想了大半天都没想出,希望有人可以一起讨论讨论,研究研究。
不允许使用 redis和memcached情况下如何限制同一用户,同一接口请求的频率。
非常感谢~
小生不才 想了大半天都没想出,希望有人可以一起讨论讨论,研究研究。
不允许使用 redis和memcached情况下如何限制同一用户,同一接口请求的频率。
非常感谢~
那就用数据库呗,数据缓存在内存一份,所有操作先在内存里面操作,再异步更新就可以。总之,在流程上控制好对db的访问次数,能在内存中做的就在内存做就可以。
先操作内存做量的控制,允许后再更新db拿到最新的值,做量的空值。
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
5 回答858 阅读
3 回答2.2k 阅读
2 回答1.3k 阅读✓ 已解决
2 回答828 阅读✓ 已解决
2 回答2.1k 阅读
这是什么奇怪的需求。
如果是受环境所限,没有 Redis 和 memcached 的话。别的存储数据的东西总有吧?比如某种数据库。如果你是单机,用本地文件也行。如果你是单进程,数据存内存里也行。
总之你需要有个地方来存东西。没有记忆的话何谈频率呢?有地方存数据,然后就上个桶算法就行了。存哪算法都一样,差别只是用什么存储API。