数据库的设计解决办法
数据库的设计
1.评论:如何保证用户购买过商品才可以评论,必须只能评论一次,1件商品评论一次,当再次购买的时候,可以继续评论一次,就如:淘宝网的评论系统,说说你的思路.
2.文章页浏览次数:浏览的次数是如何统计的,难道其它的网站也是用数据库做的吗?每次浏览+1,如果量大的话,是不是给数据库系统造成压力? 如果不是,那是用什么统计.
------解决方案--------------------
2.日志文件追加写实现的,linux下专门开了一个服务,不停地追加,定时处理数据取的不同操作的访问量,最后生成excel通过自动邮件交给数据部门。这么一个流程。。。
1的话方法多了去了,不过效率、稳定什么的就不好说了,没试过。肯定是和数据库设计有关吧。
------解决方案--------------------
我回答你第2个问题,如果瓶颈在数据库那么可以采取memcache中间缓存的方式来缓存.每一个小时或者半个小时统一更新一次数据库.
------解决方案--------------------
1.评论:如何保证用户购买过商品才可以评论,必须只能评论一次,1件商品评论一次,当再次购买的时候,可以继续评论一次,就如:淘宝网的评论系统,说说你的思路.
这个问题比较简单,用户购买的时候是有订单的,评论之前查看一下这个用户是否在订单库里购买过该商品,如果有则查询一下购买数量,这样就可以限制评论次数了,评论完毕之后在订单库里做一个已经评论过的标记.
2.文章页浏览次数:浏览的次数是如何统计的,难道其它的网站也是用数据库做的吗?每次浏览+1,如果量大的话,是不是给数据库系统造成压力? 如果不是,那是用什么统计.
这个问题,我的做法是:采用缓存的方式,最常见的缓存方法是memcache和文件缓存,memcache好一点,文件缓存会给服务器造成IO的压力,推荐使用memcahce,当用户浏览的时候先读取缓存中是否有该文章的浏览次数记录,如果没有找到记录则建立针对该文章的一条记录,同时计数为1,下一次有人访问的时候再次读取缓存,让计数加1,当该文章的计数达到10次(次数你可以自定义)的时候就清理掉缓冲中该文章的浏览计数,同时把次数写入数据库.
基本原理就是:不到10次就存入缓存,到了10次清理缓存并更新数据库中的浏览次数.这样就是浏览数达到10次再重新操作一次数据库,有效的降低了数据库的压力.
------解决方案--------------------
首先想说的是数据库比你想象的要强大得多.
------解决方案--------------------
1.评论:如何保证用户购买过商品才可以评论,必须只能评论一次,1件商品评论一次,当再次购买的时候,可以继续评论一次,就如:淘宝网的评论系统,说说你的思路.
购买的时候会生成一个订单id对吧?把评论表和这个订单id对应上,每个id只能在评论表内评论一次
2.文章页浏览次数:浏览的次数是如何统计的,难道其它的网站也是用数据库做的吗?每次浏览+1,如果量大的话,是不是给数据库系统造成压力? 如果不是,那是用什么统计.
小应用可以直接数据库,大的话可以memcached,有个自增的接口,然后定时dump数据到sql即可
------解决方案--------------------
为什么总是想象数据库是不堪一击的呢?
如果用文件做载体,那么关系型数据库也是用文件存储数据的
如果用 memcached 作载体,那么 nosql 也是基于内存的
简单的操作文件或内存,貌似速度要快些。但你还需要用大量的代码来管理和解决冲突
综合效率就不如直接数据库了
------解决方案--------------------

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



Verwenden Sie Python im Linux -Terminal ...

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Bei der Entwicklung in Go ist die Verbindung zu Oracle -Datenbanken eine übliche Anforderung ...
