php内存消耗和,高并发处理,php排序。
做了一个sql查询,还通过了获取的数组下标来排序。但是前辈说会有大量访问的时候这样很消耗内存,网上看了下好多说的方法是做cache,有没有其他的方法处理呢?
回复讨论(解决方案)
你的语句,不会很消耗内存。activeNum是索引就可以了。
当然有cache是最好的。
你的语句,不会很消耗内存。activeNum是索引就可以了。
当然有cache是最好的。
要是有几十万上百万的数据,每次有人访问index就去取一次不会消耗资源吗?
如果加索引的话,加什么索引好呢?这个字段是随时变化的
你的语句,不会很消耗内存。activeNum是索引就可以了。
当然有cache是最好的。
要是有几十万上百万的数据,每次有人访问index就去取一次不会消耗资源吗?
如果加索引的话,加什么索引好呢?这个字段是随时变化的
如果数据值是唯一的 就加唯一索引 否则加普通索引
如果mysql表数据多 几百万的时候 那需要考虑分表
1、没看到 数组下标来排序 的代码
2、activeNum 上应有索引(普通索引即可)
3、你知道访问数据库和访问 cache 的区别吗?
将数据库的压力转嫁到 cache 就一定合适吗?
如果有有几十万上百万的数据,那么你的 cache 策略是什么?
1、没看到 数组下标来排序 的代码
2、activeNum 上应有索引(普通索引即可)
3、你知道访问数据库和访问 cache 的区别吗?
将数据库的压力转嫁到 cache 就一定合适吗?
如果有有几十万上百万的数据,那么你的 cache 策略是什么?
activeNum 是数字型,用索引也有效吗?一直以为 索引只用在where作用的字段上,排序的字段也可以用索引吗
排序也可以用到索引,不然数据量很大,不适用索引,你数据库不是崩溃。
1、没看到 数组下标来排序 的代码
2、activeNum 上应有索引(普通索引即可)
3、你知道访问数据库和访问 cache 的区别吗?
将数据库的压力转嫁到 cache 就一定合适吗?
如果有有几十万上百万的数据,那么你的 cache 策略是什么?
目前 activeNum这个字段没有加索引。
EXPLAIN 你的查询指令
MySQL 会给你有益的建议!而不是自己想当然的说
EXPLAIN 你的查询指令
MySQL 会给你有益的建议!而不是自己想当然的说
用命令查出来貌似不能用索引,我现在想到的一个办法是,新建一个rank表把用户的id,排名根据数组取下标放到rank表里面,然后在新表里面加一个uid等于0的字段,排名那里放我写入进去的时间,每次来取排名的时候先取uid=0的时间,对比当前时间,如果大于30分钟,那么就重新去active表读取一次排名放到rank表里面。不知道这方法可行么?
possible_key 是可被使用的索引,由于你没有对 activeNum 做索引,自然就没有啦
于是 Extra 列就有了 filesort,表示用了一个临时文件来对 activeNum 进行排序
possible_key 是可被使用的索引,由于你没有对 activeNum 做索引,自然就没有啦
于是 Extra 列就有了 filesort,表示用了一个临时文件来对 activeNum 进行排序
好吧,我再捣鼓捣鼓,php在linux里面有没有区分是否线程安全呢?每个用户访问一次比如我写了一个DB调用数据库,是只引用一次,所有用户都用的这一个,还是每个人都是独立的呢?
每个人都是独立的
你可以试试 单例模式, 把结果存在静态变量中试试
如果查询的量非常大,而数据又不是实时的可以做缓存来处理.但是如果数据又要是实时的 我觉得先找出瓶颈在什么地方,普通的索引等优化这些都是基础。
谢谢大家,用临时表做缓存解决了。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In der Go-Framework-Architektur sind die wichtigsten Strategien zur Verbesserung der Verarbeitungsfähigkeiten bei hoher Parallelität: Nutzung des leichtgewichtigen Parallelitätsmechanismus von Goroutine, um Aufgaben parallel auszuführen und die CPU-Auslastung zu verbessern. Verwenden Sie gleichzeitige Kanäle für einen sicheren und effizienten Datenaustausch zwischen Coroutinen, um Datenkonsistenz und Parallelität sicherzustellen. Implementieren Sie einen asynchronen Verarbeitungsmechanismus, um zeitaufwändige Aufgaben zur Ausführung in den Hintergrund zu verlagern, um das Blockieren von Anfrageantworten zu vermeiden und die Antwortmöglichkeiten zu verbessern.

Die hohe Parallelitätsverarbeitung und die Fähigkeit zur Anforderungsantwortoptimierung des Nginx-Servers Im heutigen Internetzeitalter wirken sich die hohe Parallelitätsverarbeitung und die Anforderungsantwortgeschwindigkeit der Website direkt auf die Benutzererfahrung aus. Als leistungsstarke, multifunktionale Serversoftware kann Nginx uns dabei helfen, eine hohe Parallelitätsverarbeitung und eine Optimierung der Anforderungsantwort zu erreichen. In diesem Artikel werden mehrere gängige Techniken und Codebeispiele vorgestellt, um den Lesern ein besseres Verständnis dafür zu vermitteln, wie Nginx verwendet wird, um eine Verarbeitung mit hoher Parallelität und eine Optimierung der Anforderungsantwort zu erreichen. 1. Verwendung des Reverse-Proxys Die Reverse-Proxy-Funktion von Nginx kann uns helfen

PHP und SQLite: Umgang mit Big Data und hoher Parallelität Im heutigen Internetzeitalter sind der Umgang mit Big Data und hoher Parallelität häufige Herausforderungen für Entwickler. PHP ist eine sehr beliebte serverseitige Skriptsprache und SQLite ist eine leichtgewichtige eingebettete Datenbank. Ihre Kombination kann eine effiziente und skalierbare Lösung bieten. In diesem Artikel wird die Verwendung von PHP und SQLite für den Umgang mit großen Datenmengen und hoher Parallelität vorgestellt und relevante Codebeispiele angehängt. 1. Verarbeitung großer Datenmengen Wenn wir große Datenmengen verarbeiten müssen, sagt S

Wie man die Caching-Technologie nutzt, um das Problem der Verarbeitung mit hoher Parallelität in PHP zu lösen. Aufgrund der rasanten Entwicklung des Internets sind heutige Websites und Anwendungen mit immer mehr gleichzeitigen Besuchen konfrontiert. Wenn eine große Anzahl von Benutzern gleichzeitig auf eine PHP-Website zugreift, kann die herkömmliche PHP-Skriptausführungsmethode dazu führen, dass die Serverleistung abnimmt, die Antwortzeit länger wird und es sogar zu einem Absturz kommt. Um dieses Problem zu lösen, können wir die Caching-Technologie verwenden, um die gleichzeitigen Verarbeitungsfähigkeiten der PHP-Website zu verbessern. Was ist Caching-Technologie? Bei der Caching-Technologie werden einige häufig aufgerufene Daten vorübergehend gespeichert

Hochparallele Verarbeitungstechnologie für die PHP-Entwicklung der Echtzeit-Chat-Funktion Mit der Entwicklung des Internets ist die Echtzeit-Chat-Funktion nach und nach zu einem wichtigen Bestandteil verschiedener Anwendungen geworden. Ob soziale Medien, E-Commerce-Plattformen oder Online-Kundenservice: Echtzeit-Chat-Funktionen mit hoher Parallelität müssen implementiert werden, um den Benutzeranforderungen gerecht zu werden. In diesem Artikel wird die Verarbeitungstechnologie mit hoher Parallelität für die Entwicklung von Echtzeit-Chat-Funktionen mit PHP vorgestellt und entsprechende Codebeispiele gegeben. 1. Verwenden Sie die Technologie für lange Verbindungen. Ein Merkmal der Echtzeit-Chat-Funktion besteht darin, dass Nachrichten in Echtzeit an Online-Benutzer gesendet werden müssen. In der traditionellen Webentwicklung

Da sich das Internet weiterentwickelt, gibt es immer mehr Websites und Webanwendungen unterschiedlicher Art. Derzeit ist der Umgang mit hoher Parallelität zu einem unvermeidlichen Problem geworden. Hohe Parallelität ist nicht nur ein Problem großer Besuche, sondern auch das Problem, dass mehrere Anfragen gleichzeitig initiiert werden. Bei Webanwendungen bedeutet die Fähigkeit, mehrere Anforderungen zu verarbeiten, auch die Fähigkeit, gleichzeitig zu verarbeiten. In PHP bietet die Swoole-Erweiterung ein hervorragendes Modell für die Verarbeitung hoher gleichzeitiger Anforderungen. Die Swoole-Erweiterung ist Open Source und ähnelt einer Erweiterung der PHP-Sprache.

Mit der rasanten Entwicklung des mobilen Internets müssen immer mehr Anwendungen eine hohe Parallelität und Verarbeitung mit hoher Last unterstützen, und PHP ist als Open-Source-Skriptsprache zum Mainstream für die Entwicklung vieler Website-Anwendungen geworden, insbesondere im Internetbereich . Wenn PHP jedoch für die API-Entwicklung verwendet wird, stößt es auf einige Schwierigkeiten, einschließlich des Umgangs mit hoher Parallelität und hoher Last. In diesem Artikel werden einige Best Practices für den Umgang mit diesen Problemen vorgestellt. 1. Horizontale Skalierung Die horizontale Skalierung ist eine gängige Methode, um auf hohe Parallelität und Auslastung zu reagieren, indem die Anzahl der Server erhöht wird

So verwenden Sie verteilte Sperren, um die Verarbeitungsfähigkeiten von PHP mit hoher Parallelität zu verbessern. In heutigen Internetanwendungen sind die Verarbeitungsfähigkeiten mit hoher Parallelität ein zentrales Thema. Da die Anzahl der Benutzer zunimmt und das Unternehmen expandiert, ist die effektive Handhabung gleichzeitiger Anfragen zu einer Herausforderung geworden, die jeder Entwickler lösen muss. In PHP-Anwendungen können wir verteilte Sperren verwenden, um die hohe gleichzeitige Verarbeitungsfähigkeit des Systems zu verbessern. In diesem Artikel werden das Konzept und das Prinzip verteilter Sperren vorgestellt und anhand von Codebeispielen gezeigt, wie verteilte Sperren in PHP-Anwendungen verwendet werden. 1. Das Konzept und Prinzip verteilter Sperren Verteilte Sperren können verstanden werden
