- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 PHP 开发一个社交网络类型的网站,我以前做过一次,但该网站的编码能力无法跟上,这是几年前的事了,现在我想再次处理这个项目。
基本上在我的网络上有一个 friend_friend mysql 表跟踪谁是谁的 friend ,对于每个确认的 friend ,数据库中有 2 个条目这是那个表:
CREATE TABLE IF NOT EXISTS `friend_friend` (
`autoid` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(10) DEFAULT NULL,
`friendid` int(10) DEFAULT NULL,
`status` enum('1','0','3') NOT NULL DEFAULT '0',
`submit_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`alert_message` enum('yes','no') NOT NULL DEFAULT 'yes',
PRIMARY KEY (`autoid`),
KEY `userid` (`userid`),
KEY `friendid` (`friendid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1657259 ;
然后我有一个名为 friend_reg_user 的包含所有用户信息的用户表
然后是用户发布的公告表,目的是只显示与您为好友的用户的公告。这是公告表
CREATE TABLE IF NOT EXISTS `friend_bulletin` (
`auto_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL DEFAULT '0',
`bulletin` text NOT NULL,
`subject` varchar(255) NOT NULL DEFAULT '',
`color` varchar(6) NOT NULL DEFAULT '000000',
`submit_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`status` enum('Active','In Active') NOT NULL DEFAULT 'Active',
`spam` enum('0','1') NOT NULL DEFAULT '1',
PRIMARY KEY (`auto_id`),
KEY `user_id` (`user_id`),
KEY `submit_date` (`submit_date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=455144 ;
好吧,要做到这一点,我要么在 friend_friend 表上运行查询以获取用户的所有 friend ,并将他们添加到像这样的字符串 1,2,3,4,5,6 这些将是 friend ID 号然后从公告表中选择公告作者ID在我的好友ID列表中
第二种方法是使用 JOINS 一次获取所有这些数据。
我现在的追求终于来了,一旦网站变得非常大,当数据库中有数百万条好友记录和公告时,这一切都会变慢,我有什么办法可以加快速度?有一个更好的方法吗?此外,我正计划更改公告以包含更多内容,而不仅仅是公告,但会像现在的大型网站那样进行更多的用户操作,以便显示状态更新、博客和公告等所有内容
最佳答案
您想要做的事情可能有多种方式。您可以有一个汇总表,其中包含给定成员的所有关联数据(在本例中为 friend )。
这是一个非常基本的方法,但它可以变得更加复杂。
摘要汇总充当持久缓存机制。您必须通过某种方法(cron 作业、MapReduce 等)使其保持最新状态。您不想在每次需要时都计算所有数据——相反,定期计算它以便快速准备就绪。
Memcache 是一个很棒的缓存工具,但它缓存的数据无论如何都必须在某个时候计算。不幸的是,Memcache 不是持久的。这意味着如果 memcached 服务器或服务死亡,您的数据也会死亡。
您可以探索一些先进的尖端技术,例如 MongoDB、CouchDB、Project Voldemort 和 neo4j,以获得一些更高效的工具。
我还建议查看基于开源 PHP 的社交网络 Elgg 的源代码,网址为 http://www.elgg.org/
关于php - 社交网络 facebook、myspace 等社交网络的用户操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1167149/
代码 #include namespace myspace { int x; } myspace::x=3; // This line is giving error. int main()
如何将我的内容推到页面顶部而不是覆盖广告,而是覆盖菜单和 myspace 链接。我想做类似的事情:http://www.myspace.com/sensesfail和 http://www.myspa
我在发布到 MySpace 链接时遇到问题。使用 PDF 教程我创建了一个简单的页面: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
我想把图片放在我的 myspace 页面的顶部,在我的乐队资料上的广告上方。我可以将一张照片放好,但当我尝试将照片放在另一张之上时,它们只会相互重叠。 我想做类似 this 的事情. 关于如何解决此问
数据集的可扩展性如何?团队成员想要使用数据集进行数据检索和操作,使用内置的数据完整性等,使用对象来执行数据更新等。 我们的系统有望扩展到数百万用户。 我读过的所有内容都针对企业环境中的数据集,我在这里
大家好。我已经阅读了我能阅读的内容,但我当然不是大师,但我正在 myspace.com 上修复同事的个人资料,并且我在屏幕的每一侧使用 2 个 div,我希望它们对齐他们彼此相邻。我试过 float:
我正在使用 PHP 开发一个社交网络类型的网站,我以前做过一次,但该网站的编码能力无法跟上,这是几年前的事了,现在我想再次处理这个项目。 基本上在我的网络上有一个 friend_friend mysq
这是我长期潜伏后的第一篇文章 - 所以请保持温柔:-) 我有一个类似于 Twitter 的网站,人们可以注册并选择一个“友好的 URL”,所以在我的网站上他们会有类似的内容: mydomain.com
我应该使用哪个 gem 或插件来构建使用 Ruby on Rails 的 Myspace 应用程序? 最佳答案 MySpace 提供了一个 REST API Ruby 库: http://develo
我正在尝试使用以下链接生成 MySpace APi key , http://developer.myspace.com/ 但是每当我转到开发人员帐户并单击“开发人员注册”或“开始构建!”我收到一条错
我在使用 c# 2008 的 Asp.net 3.5 中工作。我已经完成了身份验证部分,而且我还能够从我的应用程序中获取所有图像 URL 或视频。我还可以向 MySpace 发送消息。现在我想发布图片
我有一个页面,它被请求允许通过 CSS 进行一些用户自定义。 我很乐意这样做,但我正在努力弄清楚如何确保它的安全。没有多少样式表会应用到页面上,但我原本认为如果我只是检查页面是一个 css 扩展,我就
有人知道如何通过 css 从 myspace profile 2.0 的 HTML Box Module 中删除小灰线吗? 我只是想不出如何选择它 div.htmlboxMODULE 不接缝工作。 谢
我可以做 Twitter 和许多其他网站在 url 显示用户页面时所做的事情吗? www.mysite.com/the_user_name 在 php 中...或者如何做到这一点? 最佳答案 研究如何
所以这将是一个巨大的挑战。它是关于如何显示缩略图/图库,就像他们在 https://myspace.com/ 上所做的那样使用水平布局。看起来它们从上到下、从左到右浮动,我知道没有 float:top
我正在为 myspace 开发一个 ASP 应用程序。我想获取 friend 的事件流和他们的所有更新。 我如何在 C# 中开始使用它? 最佳答案 这是获取事件的端点(您和您的 friend ):ht
我是一名优秀的程序员,十分优秀!