Table des matières
Assassin ⚡️ - tue les pages Web lentes
Assassin s'efforce de tuer les transactions de base de données qui bloquent l'interface utilisateur.
Maison interface Web js tutoriel Assassin ⚡️ - Une base de données open source et gratuite pour tuer les pages Web lentes

Assassin ⚡️ - Une base de données open source et gratuite pour tuer les pages Web lentes

Jan 06, 2025 am 03:24 AM

Assassin ⚡️ - tue les pages Web lentes

Assassin s'efforce de tuer les transactions de base de données qui bloquent l'interface utilisateur.

Les opérations de base de données peuvent être lentes, mais aucune base de données existante ne résout ce problème de la manière évidente : sous-traiter les tâches difficiles à des travailleurs Web.

Assassin ⚡️ - An open source, free database for killing slow webpages

Je voulais créer une base de données qui soit :

  • Open source
  • Réactif
  • Décentralisé
  • Optimisé pour les travailleurs du Web
  • Conçu pour la navigation privée

C'est pourquoi j'ai créé ma propre base de données avec JavaScript.

Caractéristiques ?

? Léger : Livré avec moins de 100 lignes de code côté client.

⚖️ Décentralisé : Votre base de données n'a pas de point de défaillance unique. Si le serveur tombe en panne, vos données sont faciles à récupérer.

? Fonctionne en navigation privée : J'ai recherché des bases de données comme LevelDB, PouchDB et Gun, qui s'appuient sur IndexedDB pour le stockage côté client. Je voulais que ces bases de données soient efficaces, mais j'ai fini par créer cette base de données en partie parce qu'IndexedDB est désactivé en navigation privée, ce qui signifie qu'aucune de ces bases de données ne fonctionne pour moi.

Méthodes :

  • killer.connect(url) - Connectez-vous au serveur.
  • killer.create(key,value) - Ajouter une entrée à la base de données.
  • killer.update(key,new value) - Mettre à jour la valeur d'une clé dans la base de données.
  • killer.delete(key) - Supprimer une entrée dans la base de données.
  • Lire la base de données - Dans un travailleur Web ou dans le thread principal, vous pouvez accéder à la base de données via la variable appelée base de données.

Architecture:

  • Modèle de données : Assassin est un magasin de clé/valeur qui prend en charge le mappage d'une clé à sa valeur correspondante.
  • Architecture du système : Le protocole DAT distribue et héberge les données entre plusieurs ordinateurs, il n'y a donc pas d'emplacement unique où les données sont stockées. Assassin s'appuie sur le protocole DAT pour la persistance des données. Les métadonnées des paires clé-valeur sont stockées dans une structure trie distribuée.
  • Niveaux d'isolement : Le niveau d'isolement est déterminé par l'utilisateur final de la base de données. Assassin est conçu pour avoir un faible niveau d'isolement.
  • Modèle de stockage : Assassin envoie des données au serveur, qui stocke ensuite les métadonnées dans le système de fichiers distribué Hyperdrive, construit sur le protocole DAT. Les données elles-mêmes sont distribuées et hébergées entre plusieurs pairs.
  • Hautement disponible : Assassin est hautement disponible et finalement cohérent. Assassin enregistre toujours les dernières modifications apportées à la base de données en cas de conflit. Ce CRDT pourra évoluer ultérieurement.

Pourquoi s'appelle-t-il Assassin ?

  • Mon site Web personnel utilise actuellement la base de données Gun.
  • Gun a de nombreuses fonctionnalités que j'aime et le fondateur est plutôt sympa.
  • Le pistolet a cessé de fonctionner pour moi.
  • L'adaptateur de stockage RAD de Gun s'appuie sur IndexedDB, qui est désactivé en navigation privée.
  • Gun synchronise les données peer to peer via WebRTC, ce qui ne fonctionne pas dans les Web Workers.
  • Assassin est un peu (sérieusement, très peu) comme Gun mais pour les travailleurs du web.
  • Travailleur d'armes = Assassin ?

Construit avec ?

  • Hyperdrive – Merci d'avoir créé une couche d'abstraction au-dessus du protocole DAT !
  • HTML - Pour créer la démo Web
  • CSS - Pour styliser la démo Web
  • JavaScript - Pour la logique
  • Node.js - Pour servir la logique

Assurez-vous de partager votre opinion sur :

  • le dépôt Assassin GitHub
  • le serveur Gitter

Et si vous voulez vraiment contribuer à améliorer Assassin, contribuez au dépôt GitHub !

Assassin est open source et le sera toujours.

Supportez-moi sur :

  • Ko-Fi

Startez le dépôt sur GitHub, tweetez et partagez-le avec vos amis, équipes et contacts !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Remplacer les caractères de chaîne en javascript Remplacer les caractères de chaîne en javascript Mar 11, 2025 am 12:07 AM

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide jQuery Vérifiez si la date est valide Mar 01, 2025 am 08:51 AM

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément jQuery obtient un rembourrage / marge d'élément Mar 01, 2025 am 08:53 AM

jQuery obtient un rembourrage / marge d'élément

10 onglets jQuery Accordion 10 onglets jQuery Accordion Mar 01, 2025 am 01:34 AM

10 onglets jQuery Accordion

10 vaut la peine de vérifier les plugins jQuery 10 vaut la peine de vérifier les plugins jQuery Mar 01, 2025 am 01:29 AM

10 vaut la peine de vérifier les plugins jQuery

Http débogage avec le nœud et le http-console Http débogage avec le nœud et le http-console Mar 01, 2025 am 01:37 AM

Http débogage avec le nœud et le http-console

Tutoriel de configuration de l'API de recherche Google personnalisé Tutoriel de configuration de l'API de recherche Google personnalisé Mar 04, 2025 am 01:06 AM

Tutoriel de configuration de l'API de recherche Google personnalisé

jQuery Ajouter une barre de défilement à div jQuery Ajouter une barre de défilement à div Mar 01, 2025 am 01:30 AM

jQuery Ajouter une barre de défilement à div

See all articles