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

php网站二次开发用什么软件网页制作多少钱一个月

php网站二次开发用什么软件,网页制作多少钱一个月,中国少儿编程十强学校,网站建设几种语言对比短网址服务设计 背景 短网址服务#xff0c;用来将输入的一个长网址转换为一个短网址#xff08;比如附录中的案例#xff09;#xff0c;当用户请求这个短网址时#xff0c;服务查询出真实的url; 设计这么一个短网址服务#xff0c;需要考虑哪些点#xff1f; 数据结构…短网址服务设计 背景 短网址服务用来将输入的一个长网址转换为一个短网址比如附录中的案例当用户请求这个短网址时服务查询出真实的url; 设计这么一个短网址服务需要考虑哪些点 数据结构 首先需要考虑短网址应该如何存储使用一个key-value结构就可以 key是生成的短网址具有唯一性 value为原始真实网址 算法 计算短网址的算法可以很简单短网址与原始网址就只存在一个映射关系。 从1开始递增来映射每一个网址 1个位上可以使用26位字母10个数字即36进制 而如果也用上大写字母就是62进制当然在计算前需要通过value来查一遍确定是否有重复键如果有重复直接返回 那通过value如何快速定位是否有重复再使用一个STL set来解决判重是个方法有没有更好的方式 使用一个hash表或STL set保存所有的长url会消耗很大的空间而如果不保存这个映射关系用户针对同一个长url的多次请求都返回的是不同的短url体验不好也消耗短url资源好的做法保存最近一段时间比如6小时的长url记录这段时间内对同一长url的转换返回的是同一个短url而过期之后再做转换返回另一个新的URL;   确定key的长度和value的长度 value长度可以设置在500一般的网址不会超过这个数 key: t.cn/** key的长度决定了能够支持多少个短网址 如果是5位长度,能够支持6000多万的网址6位长度就是21亿; 数据容量 预估数据容量 会占用多大的空间对于这类服务基于效率考虑一般是全内存操作 如果单机能够装下使用单机 如果单机无法装下需要分片分片策略可以根据key的递增范围来定也可以根据取模来确定 分片策略 根据key的递增范围分片 优点 扩容简单超过1个服务器的容量后就增加一台机器 缺点负载可能不均衡一般后生成的短网址访问比较频繁造成装载早期短网址的服务器空闲 根据key的取模来分片 优点用户的负载比较均衡 缺点难以扩容 取舍可以先预估数据容量确定使用的服务器数使用第二种分片方法当数据超出预估的容量对于超出的key再使用第一种分片方法路由到新的服务器上打补丁 接口设计 确定用户传入的接口协议,用户的输入和输出 并发读写和数据存储 使用什么来存放这些key-value数据 貌似一个STL hash map容器就可以但map不是线程安全的考虑加锁 如果实时性要求不高可以使用AB两块内存操作一块内存线上读一块线下写定期更新 由于用户输入了长的网址之后需要在终端上能够显示出被转换的短网址所有对写的实时性也是有要求的 要求实时针对map可能得用上锁或者直接使用第三方内存产品如redismemcache等 对redis的读写使用异步进一步提高并发效率 网络 对于用户请求量如果是千兆网能够满足使用一个单线程事件循环来处理IO non-blocking io multiplexing 如果用户请求更大使用多个Reactor事件循环来处理接入的reactor只负责事件的监听连接建立后将用户请求的处理转到后续的计算reactor中处理 查询和更新逻辑简单可以直接在IO事件循环中处理类似ngnix架构 如果更新逻辑复杂考虑后台增加额外的进程/线程池处理异步写操作 安全 可选考虑有恶意用户构造不存在的网址来连续触发请求以此来占满短网址的id 可对网址进行合法性校验直接访问那个网址太耗时间不太显示 对同一来源用户限制请求数 案例 http://t.im/ 这个短网址生成器上使用的就是36进制递增来做的 例如多次输入不同的长网址得到的短网址 http://t.im/vgu8 http://t.im/vgu9 http://t.im/vgu0 http://t.im/vgua 从这也可看出这个网站的并发并不大我这几次请求都是相隔几秒的 这个网站也没有做特殊的网址校验规则比如输入a.bb.ccc之类的网址都为合法   后记 以上是自己的一些想看看过网上的一些文章后发现有不少改进的地方 1. 短url的存储 设计时使用的是字母和数字的组合使用36进制或62进制是为了让url尽可能的短在后台存储的时候使用整型更为合适整型比较比字符串比较要高效像redis等第三方产品对整型的查找都有专门的优化后台整型存储返回给用户时进行10进制到36进制的转换即可   2. 分布式发号器自增的发号器是单点。如果流量大了涉及到拆分分成多个服务器来处理发号器同样可以扩容到多个扩到2台分别发单双号第一台发单号第二天发双号不会重复而扩容到10台则分别发0~9尾号的号   Posted by: 大CC | 06NOV,2015 博客blog.me115.com [订阅] Github大CC
http://www.huolong8.cn/news/356406/

相关文章:

  • 网页布局设计技术wordpress seo 百度
  • 广安门外网站建设西安专业网站开发联系电话
  • 山东响应式网站开发wordpress移动端页面模板下载地址
  • 网站建设小程序小微企业查询系统
  • 做菠菜网站有没有被骗的课程资源库网站开发的研究现状
  • 深圳英文网站建设公司济南网站设计制作要多久
  • 西昌网站建设公司设计师培训大纲
  • 网站策划需要什么wordpress怎么设置语言
  • 网站欢迎屏怎么做云服务器怎么用详细步骤
  • 百度网站认证合肥地区建网站公司
  • 互联网公司网站源码wordpress插件汉化下载
  • 宁波网站建设 泊浮科技wordpress主题使用方法
  • 整站优化 快速排名合肥网络推广网络运营
  • 建设020网站需要多少钱企业网站建设基本步骤
  • 公司网站建设方案模板网站建站的步骤流程
  • 问答类咨询网站的建设石家庄互联网传销多少律师
  • 如何给网站做seo优化网站建设工作策划书
  • 企业网站的特点是什么展厅设计公司排行
  • 中国建设银行网站首页怎么销户拔萝卜在线视频免费观看
  • 做网站为什么赚钱网站开发和浏览器兼容问题
  • 如何查网站开发商外网访问wordpress版式不对
  • 专题学习网站开发流程电商网站有哪些特色
  • 龙岩市官方网站广州seo托管
  • 套网站模板软件门户网站建设和检务公开自查
  • 频繁从一个网站链接到另一个网站会影响百度收录么qq官方网站登录
  • 动漫网站设计模板wordpress 分类 标签
  • 网站推广的方式网站源码怎么写
  • 淘宝客优惠卷网站怎么做的北京网站建站公
  • 音乐在线制作网站作一个网站要多少钱
  • 企业网站的推广方法有哪些企业品牌网站建设怎么做