数据延迟入库操作,求大神给个技术思想

grn0515 2013-03-14 03:00:10
目前情况:
现在页面访问量比较大,然后要把访问的记录存入库中,想法是先把访问的数据存入到内存中,然后过一段指定的时间再一次性入库。比如把30秒之内的数据先存起,过了30秒后在进行入库操作。
问题:
用什么技术实现,性能比较高。主要不想频繁访问数据库,减少磁盘读写
...全文
275 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
myhope88 2013-03-15
  • 打赏
  • 举报
回复
楼上都说得差不多了,自己试试看吧
Assassin_ 2013-03-14
  • 打赏
  • 举报
回复
先写入到临时表。 然后定时将临时表同步到你指定的表里。 缓存也能实现.先缓存一部分数据. 后台一样定时去取cache的数据.然后写入
linrachel 2013-03-14
  • 打赏
  • 举报
回复
别动不动就加硬件。 这个问题很好解决,自己先使用单例模式创建一个保存访问信息的类。 然后,使用HttpModule来注册HttpApplication的某一个管道事件, 在事件的处理函数中,判断访问信息的状态,根据状态来选择插入数据库还是直接跳过。
xxoo2007 2013-03-14
  • 打赏
  • 举报
回复
加机器,做集群. 能用加机器解决的性能问题,不要改代码. 编码,测试,维护,风险统统算下来,加机器效果最好,最划算
md5e 2013-03-14
  • 打赏
  • 举报
回复
缓存用反了,应该是把数据缓存到服务器,访问是访问服务器缓存,不影响写入
joyhen 2013-03-14
  • 打赏
  • 举报
回复
再弄一个库,一般并发大的都会读写分离,然后指定时间段数据汇总
grn0515 2013-03-14
  • 打赏
  • 举报
回复
先存入临时库或表中,还是要打开数据库链接,访问数据库的嘛!
csdn_风中雪狼 2013-03-14
  • 打赏
  • 举报
回复
引用 楼主 grn0515 的回复:
目前情况: 现在页面访问量比较大,然后要把访问的记录存入库中,想法是先把访问的数据存入到内存中,然后过一段指定的时间再一次性入库。比如把30秒之内的数据先存起,过了30秒后在进行入库操作。 问题: 用什么技术实现,性能比较高。主要不想频繁访问数据库,减少磁盘读写
先存入临时库或表中,高峰期过了,就同步到主数据库,存缓存的话,丢失就麻烦了
梨花树下思考 2013-03-14
  • 打赏
  • 举报
回复
消息队列 试试
  • 打赏
  • 举报
回复
挫招,不知道管用与否,如果数据量小的话的,先存入缓存,设置缓存过期时间为30秒,然后插入数据库,你查一下缓存最大存储数据量; 如果数据量大的话,你可以做个临时表,存入数据,然后时间设置时间,时间到了把临时表的数据插入数据库
grn0515 2013-03-14
  • 打赏
  • 举报
回复
不管查询,现在只要求延迟插入数据。
yyl8781697 2013-03-14
  • 打赏
  • 举报
回复
我觉得再多加一个数据库好一点 数据先插入那个那个数据库,然后定时用JOB之类的同步进主数据库,不然放缓存的 丢失掉了就糟糕了 还有访问量大的话 可以适当的加上缓存减轻压力
blue_apple2006 2013-03-14
  • 打赏
  • 举报
回复
访问量大一般都是查询量大,写入和更新删除操作很少,可以使用全局缓存。 如果你想缓存插入和删除,这个估计有难度,因为你缓存了数据,没有写入,别人查询的数据都是脏数据了,会有数据错误的。
Dotar 2013-03-14
  • 打赏
  • 举报
回复
关注,坐等高手解答

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧