游戏天空论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 23|回复: 0

2、数据缓存   对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索...

[复制链接]

6487

主题

6487

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
20183
发表于 2024-1-16 17:02:21 | 显示全部楼层 |阅读模式
2、数据缓存

  对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,
后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。
要注意的是,缓存不要使用文件形式,可以使用redis、mem-cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内。
局域网内的网络IO肯定比起磁盘IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的。

  3、页面静态化

  与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,
以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。

  4、用户级别的调用频率限制

  不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID,服务端可以将sid存到缓存中。当客户端请求服务时,
如果没有带SID,则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID,
便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,
可最大程度地避免误杀情况。

  5、IP限制


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|游戏天空论坛 ( 陕ICP备13009885号 )

GMT+8, 2024-11-17 03:27 , Processed in 0.156250 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表