当前位置: 首页 > news >正文

电脑当服务器做网站怎么创建自己的网站平台

电脑当服务器做网站,怎么创建自己的网站平台,青岛官网优化推广,选择邯郸做网站1、问题 今天在工作中遇到一个问题,需要查询表A,需要根据每天所处小时所在时段,返回不同的记录给前端展示,如0-2时是在昨日0到2时生成的记录,而2-4时则是在昨日2-4时生成的记录,每条记录有一个唯一的id。表…

1、问题

  今天在工作中遇到一个问题,需要查询表A,需要根据每天所处小时所在时段,返回不同的记录给前端展示,如0-2时是在昨日0到2时生成的记录,而2-4时则是在昨日2-4时生成的记录,每条记录有一个唯一的id。表A记录的数据只读不写,但会一一对应关联另外一个表B的数据,表B的数据需要读和写。
  由于表A的数据只读不写,所以会在第一次查询时,缓存进redis,这样每一天只需要进行一次IO,后续就可以只通过缓存读取。而表B的数据需要会涉及到写,且每个用户共享这些记录,所以并发会比较高。为了减少缓存穿透,并没有将表B符合条件的记录作为列表存入redis(因为存入列表,写一条记录就需要删除整个列表缓存),而是先筛选表A的记录,收集id列表,再查表B,再将表B记录的id的作为key单独存入redis。这是一个非常蠢的设计,记录单独存入redis中,也就意味着根据id循环io查单条和循环写入缓存,程序需要与数据库和redis进程频繁交互,原本为了提高查询效率的考虑,反而大大增加了查询压力,直接影响就是查询效率极低,压力测试不通过。
  由于每个时段需要展示的数据量并不多,只有几十条,于是便采用list进存入redis,但在压力测试高并发的条件下,会导致重复添加记录到redis,这样会造成两个影响,其一是冗余数据在redis中会形成大key,占用空间增大且查询减慢,其二是程序处理也会增加遍历成本且可能出错。可如果对该查询进行同步(加锁),这又会影响查询效率,达不到性能优化的目的。那么应该如何解决呢?

2、解决:redis的hash结构

redis中的另一种数据结构hash,则可以完美解决这个问题: hash可以类比成Java中的Map,在这个业务当中,可以将每条记录的id作为key,记录本身作为value,形成一个会去重的key-value列表,在高并发下,多个线程的写入,相同的key会去重,这样不会造成冗余数据

http://www.15wanjia.com/news/8753.html

相关文章:

  • 沙河网站建设搜索引擎优化排名优化培训
  • 怎么做校园表白网站郑州厉害的seo优化顾问
  • 商城推广文案南宁seo排名优化
  • 青海省教育厅门户网站口碑营销的成功案例
  • 现在都有什么网站工作室站长之家ip地址归属查询
  • 网络服务商机构域名南昌seo优化公司
  • 商城网站制作什么样的人适合做营销
  • 半月报网站建设商务代表工作总结58同城推广
  • 网站备案信息真实核验单 下载登录百度账号
  • 昆明企业网站建设一条龙seo研究协会网是干什么的
  • 网站开发过程会遇到的问题怎么做一个自己的网站
  • 微信公众号网页版登录杭州百度seo优化
  • 如何做微信朋友圈网站seo挖关键词
  • 动态网站站内广告怎么做百度入口提交
  • 百度不更新网站seo站群优化
  • wordpress 千万数据库网站优化包括对什么优化
  • 重庆勘察设计网汕头seo服务
  • 网站开发工具中的三剑客长沙seo免费诊断
  • 公司做网站能抵扣进项税吗小红书怎么推广引流
  • wordpress固定连接设置去掉前缀优化落实新十条措施
  • 网站建设公司的排名sem和seo
  • 布吉商城网站建设整站优化价格
  • 西安网站制作开发公司哪家好优化师是一份怎样的工作
  • 党务公开网站建设石家庄谷歌seo
  • 北京市城乡建设和住房委员会官方网站看网站搜索什么关键词
  • 做网站字体要求百度咨询电话 人工客服
  • 敦煌网站销售员怎么做好看的seo网站
  • 可靠的专业网站建设怎么做网络推广优化
  • 临邑县住房和城乡建设局网站百度关键字优化
  • 建设网站自学西安百度关键词排名服务