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

东莞网站建设做公司中国空间站简笔画

东莞网站建设做公司,中国空间站简笔画,百度网盟如何选择网站,怎样建设网站施工在互联网产品中#xff0c;Feed流是一种常见的功能#xff0c;它可以帮助我们实时获取我们关注的用户的最新动态。Feed流的实现有多种模式#xff0c;包括拉模式、推模式和推拉结合模式。在本文中#xff0c;我们将详细介绍这三种模式#xff0c;并通过Java代码示例来实现…在互联网产品中Feed流是一种常见的功能它可以帮助我们实时获取我们关注的用户的最新动态。Feed流的实现有多种模式包括拉模式、推模式和推拉结合模式。在本文中我们将详细介绍这三种模式并通过Java代码示例来实现它们。 一、拉模式 拉模式也叫做读扩散是一种较为节约空间的模式。在这种模式下当我们关注的用户发表了新的动态这些动态会被保存在他们自己的邮箱中。当我们需要读取这些动态时系统会从我们关注的用户中拉取所有的动态然后进行排序。 优点节约空间因为我们在读取信息时并没有重复读取而且读取完成后可以清除我们的收件箱。 缺点延迟较大当我们读取数据时才去关注的用户中读取数据如果我们关注了大量的用户那么此时就会拉取大量的内容对服务器压力较大。 以下是一个简单的Java代码实现 public class PullMode {private MapString, ListString userFeeds new HashMap();public void post(String user, String feed) {if (!userFeeds.containsKey(user)) {userFeeds.put(user, new ArrayList());}userFeeds.get(user).add(feed);}public ListString fetch(String user, ListString following) {ListString feeds new ArrayList();for (String followee : following) {if (userFeeds.containsKey(followee)) {feeds.addAll(userFeeds.get(followee));}}Collections.sort(feeds);return feeds;} }二、推模式 推模式也叫做写扩散是一种时效性较强的模式。在这种模式下当我们关注的用户发表了新的动态这些动态会被直接推送到我们的收件箱中因此我们不需要再去拉取这些动态。 优点时效性强不需要临时拉取。 缺点内存压力大如果一个用户有很多粉丝那么他发布的每一条动态都会被复制到每一个粉丝的收件箱中。 以下是一个简单的Java代码实现 public class PushMode {private MapString, ListString userFeeds new HashMap();public void post(String user, String feed, ListString followers) {for (String follower : followers) {if (!userFeeds.containsKey(follower)) {userFeeds.put(follower, new ArrayList());}userFeeds.get(follower).add(feed);}}public ListString fetch(String user) {return userFeeds.getOrDefault(user, new ArrayList());} }三、推拉结合模式 推拉结合模式也叫做读写混合是一种折中的方案兼具推和拉两种模式的优点。在这种模式下对于普通的用户我们采用写扩散的方式直接把数据写入到他的粉丝中去对于有大量粉丝的用户我们采用读扩散的方式当粉丝需要读取动态时再去拉取这些动态。 以下是一个简单的Java代码实现 public class HybridMode {private MapString, ListString userFeeds new HashMap();private MapString, ListString userPosts new HashMap();public void post(String user, String feed, ListString activeFollowers) {if (!userPosts.containsKey(user)) {userPosts.put(user, new ArrayList());}userPosts.get(user).add(feed);for (String follower : activeFollowers) {if (!userFeeds.containsKey(follower)) {userFeeds.put(follower, new ArrayList());}userFeeds.get(follower).add(feed);}}public ListString fetch(String user, ListString following) {ListString feeds userFeeds.getOrDefault(user, new ArrayList());for (String followee : following) {if (userPosts.containsKey(followee)) {feeds.addAll(userPosts.get(followee));}}Collections.sort(feeds);return feeds;} }以上就是关于Feed流的拉模式、推模式和推拉结合模式的介绍和Java代码实现希望对大家有所帮助。
http://wiki.neutronadmin.com/news/435636/

相关文章:

  • 昌吉市建设局网站智慧团建网站登录平台官网
  • 网站建设发展好不好写文章怎么用wordpress
  • 网站建设使用什么软件有哪些北京网站备案速度
  • 班级网站建设的系统概述上海 建筑
  • 微信号 网站模板南安市住房和城乡建设部网站
  • 杭州做网站比较出名的公司修改文章缩略字数 WORDPRESS
  • 如果建设管理运营一个网站wordpress拨号功能
  • 广东网站开发哪家强win8式网站后台模板
  • 网站服务器设置地点网站建设分金手指专业二
  • 哈尔滨网站建设论坛免费创建一个网页
  • 重庆品牌网站建设公司哪家好网站如何调用数据库
  • 嘉定网站设计制作价格有没有免费推广平台
  • 网站所有权查询手机网站关键词优化
  • 行政事业单位网站建设建议做网站用哪个软件写比较好
  • 河北建设厅官网站首页我们的社区手机在线观看
  • 建设网站的基本流程wordpress如何开启ssl
  • 怎么自己创建一个网站php网站开发实例教程 传智播客
  • 永州市规划建设局网站才做的网站怎么搜不到
  • 020网站设计网站开发职务
  • 江西手机网站建设wordpress主页编辑
  • 网站建设卩金手指科杰十四网站开发怎么自学
  • 网站建设费用怎么核算国内外高校门户网站建设的成功经验与特色分析
  • 成都全网营销型网站如何建立微网站详细
  • 建设网站需要哪些步骤建设网站英文翻译
  • 专门做外贸机械的网站最新的网络营销方式
  • 2021能看的网站免费的知乎旅游型网站开发
  • 新网站2个月没有收录重庆网站建站推广
  • 快速搭建网站服务器wordpress生成的html
  • 各大网站网址是多少做网站建设销售员准备什么
  • 商城网站要怎样建设添加建设银行的网站