关于服务器的差异化(另说增量)更新
不明白要如何做,目前属于服务器小白
比如两个用户,服务器数据目前有10条,A和B都更新了
过了一会,服务器有更新,数据从10条增加到了15条
A更新了,app本地的数据从10条变成了15条;但是B没更新,还是10条;
再过了一会,服务器数据又更新了,数据从15条增加到了20条
那我怎么让A只增加更新的5条(15到20的),让B更新10条(10到20的)呢?
回复讨论(解决方案)
我自己来吧
把当前数据序号(这里就用id)的最大值传给app,app记录下来
一开始A和B同时进行更新,他俩都是10
更新的时候,给服务器发数据序号(这里就用id)这个过去,服务器通过select * from XXX where id >= app本地数据序号进行查询
A更新的时候(从10条变成了15条)那么当前这个id是15;B没进行更新,他还是10;
再次更新的时候,同理,服务器只会给A发送16到20的数据,对于B服务器发送11到20的数据,让他们增量更新
针对于简单的逻辑(只是对数据的新增),上面的部分已经解决了
但这里又出现一个新问题,服务器的数据进行更改或者标记删除?怎么办?
那么你需要看下面的处理:
新增一个字段mark一开始设置为0
一开始A和B同时进行更新(都更新了10条数据),把mark为0的都更新过去了,本地的mark为0
现在对表中的数据更新(从10到15),对里面的某条数据进行修改(第3条),对第5条进行删除(标记为-1);现在服务器的数据mark标记10到15的为1(1到10的还是不变为0)
A进行了更新(从10到15),他本地的mark变成了1;B没更新mark本地还是0;
服务器的数据再次更新(从15到20)
这时A和B都更新,A给服务器传mark的值为1,服务器查找比mark大的标记(15到20条数据)发给A;同理,给B发送mark大于0的标记(10到20条数据);他俩也能达到差异更新
现在来看看上面的,如果对数据进行修改了,怎么办?
假如上面所说的服务器对第3条数据进行了修改,那么我们约定mark+2为修改的,app在碰到mark+2的,就要对这条数据进行更新,具体更新客户端来做;同样标记删除的,我们约定为-1,那是标记不显示出来;
现在问题又来了
假如目前服务器的mark标记已经达到了5000,一个app他从未更新,现在还是0(类似情况也适用于新安装的客户端);那么他需要同时更新到5000(可能数据有十来万),这怎么办?
所以要加一个限定,我们假设app上传本地mark的时候,服务器判断,他和服务器中最大的mark相差超过50,我们只给其发送最大-50的数据(用在这里就是4950到5000的数据列),这样就减少了客户端的压力
那么,可能就要问了,期间的数据怎么办?
首选丢弃。。第二选择,可以选择一个小版本,对这部分的处理。
不过参考微信和qq的数据,他们也是对这部分进行删除的,我们还给她保留可点。。

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

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Nach seiner hochkarätigen Akquisition durch Facebook im Jahr 2012 nahm Instagram zwei APIs für den Einsatz von Drittanbietern ein. Dies sind die Instagram -Graph -API und die Instagram Basic Display -API. Ein Entwickler, der eine App erstellt, die Informationen von a benötigt

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio
