gpt4 book ai didi

php - 我可以将大量用户 ID 保存到多个用户的 session 变量中吗?

转载 作者:行者123 更新时间:2023-11-29 01:48:10 26 4
gpt4 key购买 nike

好吧,我有一个社交网络,到目前为止大约有 50,000 名用户,并且有一个 friend 表显示谁是网站上的 friend ,这个表超过一百万行

这不是棘手的部分,我会显示用户发布的公告、状态帖子等仅对您的 friend 列表中的人可见的内容。请记住表的大小,到目前为止,用户表大约有 50,000 个, friend 表大约有 100 万个

让 friend 列表知道向用户显示什么状态帖子的一种方法是运行下面的查询并将结果放入数组

select friendid from friend_friend where userid=1 and status=1

然后我会把这个数组变成一个逗号分隔的列表,并在 mysql 查询的 IN 子句中使用它来获取允许该用户查看的帖子

希望到目前为止是有意义的。

现在,如果我将这个 friend 数组保存到一个 session 变量中,因为这个查询运行得非常频繁怎么办?我看到的缺点之一是,如果用户在登录时将该人添加为 friend ,他们会显示为 friend ,直到该 session 被重置,但除此之外,这对内存或任何 session 使用的性能是否不好?

另请注意,有时最多有 500 个用户登录,有些用户有 10,000 个好友 ID 的好友列表,这是一个 PHP/MySQL 设置

关于 session 数据的另一个问题,它存储在文件中而不是系统内存中,对吗?如果它在磁盘上而不是内存上,那么内存应该不是什么大问题?

最佳答案

您是否研究过 memcached?这篇文章 ( http://highscalability.com/memcached-and-storage-friend-list) 及其评论强调了您的方式与卸载到内存缓存的优缺点。

关于php - 我可以将大量用户 ID 保存到多个用户的 session 变量中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com