Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Το Redis είναι ένας χώρος αποθήκευσης δομών δεδομένων στη μνήμη, που χρησιμοποιείται ευρέως για την προσωρινή αποθήκευση, την ανάλυση σε πραγματικό χρόνο και τη διαμεσολάβηση μηνυμάτων. Είναι μια δημοφιλής επιλογή για προγραμματιστές λόγω της αστραπιαίας ταχύτητας και του πλούσιου συνόλου χαρακτηριστικών του.

Το Redis υποστηρίζει πολλές δομές δεδομένων, συμπεριλαμβανομένων συμβολοσειρών, κατακερματισμών, λιστών, συλλογών και ταξινομημένων συνόλων. Προσφέρει επίσης ενσωματωμένη υποστήριξη δημοσίευσης/εγγραφής μηνυμάτων, υποστήριξη συναλλαγών και δέσμες ενεργειών Lua.

Υπάρχουν αρκετοί δημοφιλείς πελάτες Redis για προγραμματιστές Go, ο καθένας με μοναδικές δυνατότητες και λειτουργικότητα. Οι παρακάτω τρεις πελάτες Redis είναι οι πιο δημοφιλείς μεταξύ των προγραμματιστών Go.

1. Το πακέτο go-redis

ο go-redis

instagram viewer
Το πακέτο είναι μια δημοφιλής βιβλιοθήκη πελατών Go για τη βάση δεδομένων Redis. Παρέχει ένα απλό, εύχρηστο API για αλληλεπίδραση με το Redis και το πακέτο υποστηρίζει όλες τις εντολές Redis.

Το πακέτο go-redis είναι δημοφιλές μεταξύ των προγραμματιστών Go λόγω της απόδοσης, της αξιοπιστίας και της εύχρηστης διεπαφής του. Θα βρείτε το πακέτο χρήσιμο για λειτουργικότητα από διαχείριση συνεδρίας σε προσωρινή αποθήκευση, ουρά μηνυμάτων και πολλά άλλα.

Εκτελέστε αυτήν την εντολή στο τερματικό του καταλόγου του έργου σας για να εγκαταστήσετε το πακέτο go-redis.

πηγαίνω λάβετε github.com/πηγαίνω-redis/redis

Δείτε πώς μπορείτε να εισαγάγετε το πακέτο go-redis στο έργο σας.

εισαγωγή (
"fmt"
"github.com/go-redis/redis"
)

Η δημιουργία μιας νέας σύνδεσης σε μια βάση δεδομένων Redis με το πακέτο go-redis είναι εύκολη. Θα χρησιμοποιήσετε το NewClient μέθοδος του redis πακέτο, το οποίο δέχεται το Επιλογές struct που περιέχει τις λεπτομέρειες διαμόρφωσης.

funcκύριος() {
πελάτης := redis. NewClient(&redis. Επιλογές{
Διεύθυνση: "localhost: 6379",
Κωδικός πρόσβασης: " ", // δεν έχει οριστεί κωδικός πρόσβασης
})
}

Στο κύριος λειτουργία, η πελάτης μεταβλητή είναι η περίπτωση σύνδεσης πελάτη Redis. Μπορείτε να αρχικοποιήσετε το Επιλογές δομή με Adr και Κωδικός πρόσβασης πεδία που περιέχουν τη διεύθυνση βάσης δεδομένων και τον κωδικό πρόσβασης, αντίστοιχα.

Κατά τη δημιουργία μιας παρουσίας πελάτη Redis, μπορείτε να κάνετε ping στη βάση δεδομένων για να επαληθεύσετε τη σύνδεσή σας με το Ping μέθοδος. Μπορείτε να χρησιμοποιήσετε το Αποτέλεσμα μέθοδος στη μέθοδο Ping, η οποία επιστρέφει την κατάσταση και ένα σφάλμα.

pong, err := πελάτης. Ping().Αποτέλεσμα()

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

fmt. Println (pong, err)

Μπορείτε να προσθέσετε ένα ζεύγος κλειδιού-τιμής στη βάση δεδομένων σας με το Σειρά μέθοδο της παρουσίας πελάτη σας. Χρησιμοποιώντας την Πλανώμαι μέθοδος σε μια λειτουργία επιστρέφει ένα σφάλμα που μπορείτε να χειριστείτε.

// Ορίστε ένα κλειδί
err = πελάτης. Σειρά("κλειδί", "αξία", 0).Πλανώμαι()

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

Μπορείτε να ανακτήσετε μια τιμή από τη βάση δεδομένων με το κλειδί χρησιμοποιώντας το Παίρνω μέθοδο της παρουσίας πελάτη σας. Χρησιμοποιώντας την Αποτέλεσμα μέθοδος σε μια πράξη επιστρέφει το αποτέλεσμα της πράξης και ένα σφάλμα.

// Πάρτε ένα κλειδί
val, err := πελάτης. Παίρνω("κλειδί").Αποτέλεσμα()

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

fmt. Println("κλειδί", val)

2. Το πακέτο Radix

ο Radix Το πακέτο είναι μια βιβλιοθήκη που παρέχει έναν πελάτη για το χώρο αποθήκευσης δομής δεδομένων στη μνήμη Redis. Το πακέτο Radix αφαιρεί το πακέτο Redigo για να παρέχει ένα εύχρηστο API για αλληλεπίδραση με το Redis.

Το πακέτο Radix παρέχει υποστήριξη για όλες τις εντολές Redis, συμπεριλαμβανομένων Λούα σενάριο και Pub/Sub, ομαδοποίηση συνδέσεων και αυτόματες επανασυνδέσεις που επιτρέπουν αποτελεσματικές και ανθεκτικές λειτουργίες με το Redis, υποστήριξη για Συστάδες Redis που περιλαμβάνουν διαφανή θραύση και αποτυχία, και ελαφρύ, αποτελεσματικό σχεδιασμό που επιτρέπει χαμηλή καθυστέρηση και υψηλή διακίνηση.

Θα βρείτε το πακέτο Radix πολύ χρήσιμο αν θέλετε να προσθέσετε γρήγορη υποστήριξη Redis στα έργα Go σας από το Το πακέτο αφαιρεί τις υποκείμενες πολυπλοκότητες του πρωτοκόλλου Redis, κάνοντας caching, διαχείριση περιόδου λειτουργίας και ουρά μηνυμάτων ευκολότερη.

Εκτελέστε αυτήν την εντολή για να εγκαταστήσετε την τρίτη έκδοση του πακέτου Radix στον κατάλογο εργασίας του έργου σας.

πηγαίνω λάβετε το github.com/mediocregopher/radix/v3

Δείτε πώς μπορείτε να εισαγάγετε το Radix πακέτο στο πρόγραμμά σας.

εισαγωγή (
"fmt"
"github.com/mediocregopher/radix/v3"
)

Μπορείτε να χρησιμοποιήσετε το Καντράν μέθοδος του ρίζα πακέτο για σύνδεση σε διακομιστή Redis. ο Καντράν μέθοδος αποδέχεται τον τύπο σύνδεσης και τη διεύθυνση του διακομιστή Redis και επιστρέφει μια παρουσία σύνδεσης και ένα σφάλμα.

funcκύριος() {
//σύνδεση με διακομιστή redis
conn, err := radix. Καντράν("tcp", "localhost: 6379")

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

αναβάλλω συν. Κλείσε()
}

Στην κύρια συνάρτηση, δημιουργήσατε μια παρουσία σύνδεσης Redis με το Καντράν μέθοδο και έκλεισε τη σύνδεση με το Κλείσε μέθοδος και α αναβάλλω δήλωση.

Μπορείτε να εκτελέσετε εντολές Redis με το Cmd μέθοδος του ρίζα πακέτο. ο Cmd Η μέθοδος δέχεται μια διεπαφή, μια εντολή και τις τιμές της εντολής.

err = συν. Do (ρίζα. Cmd(μηδέν, "ΣΕΙΡΑ", "το κλειδί μου", "η αξία μου"))

αν λάθος!= μηδέν {
fmt. Println("Σφάλμα κλειδιού ρύθμισης:", λάθος)
} αλλού {
fmt. Println("Το κλειδί ορίστηκε με επιτυχία")
}

ο Κάνω μέθοδος περικλείει τη λειτουργία και επιστρέφει ένα σφάλμα.

Ομοίως, μπορείτε να ανακτήσετε τιμές από τη βάση δεδομένων σας με το FlatCmd μέθοδος. ο FlatCmd μέθοδος λαμβάνει την αναφορά σε μια μεταβλητή, την εντολή και το κλειδί.

var val σειρά
err = συν. Do (ρίζα. FlatCmd(&val, "ΠΑΙΡΝΩ", "το κλειδί μου"))

αν λάθος!= μηδέν {
fmt. Println("Σφάλμα κατά τη λήψη του κλειδιού:", λάθος)
} αλλού {
fmt. Println("Η αξία του mykey είναι", val)
}

Όταν εκτελείτε αυτόν τον κώδικα, θα πρέπει να δείτε έξοδο παρόμοια με αυτό:

3. Το πακέτο Redigo

ο Redigo Το πακέτο είναι μια άλλη δημοφιλής βιβλιοθήκη πελατών Go για το Redis. Διαφορετικός Radix και Go-redis, ο Redigo Το πακέτο είναι ένας ελαφρύς πελάτης που παρέχει μια απλή και αποτελεσματική διεπαφή για αλληλεπίδραση με το Redis.

Ένα από τα σημεία πώλησης του Redigo είναι η απόδοσή του, παρά το μικρό βάρος του. Το Redigo παρέχει ένα API που μοιάζει με εκτύπωση με υποστήριξη για όλες τις εντολές Redis και το πακέτο χρησιμοποιείται ευρέως για διοχέτευση, pub-sub, ομαδοποίηση συνδέσεων και άλλες λειτουργίες.

Εκτελέστε αυτήν την εντολή τερματικού για να εγκαταστήσετε το redigo πακέτο και ξεκινήστε.

πηγαίνω λάβετε το github.com/gomodule/redigo/redis

Δείτε πώς μπορείτε να εισαγάγετε το πακέτο redigo στα αρχεία του έργου σας.

εισαγωγή (
"fmt"
"github.com/gomodule/redigo/redis"
)

Μπορείτε να χρησιμοποιήσετε το Καντράν μέθοδος του redis πακέτο για σύνδεση σε μια παρουσία βάσης δεδομένων Redis. Η μέθοδος Dial λαμβάνει έναν τύπο σύνδεσης και μια διεύθυνση και επιστρέφει την παρουσία σύνδεσης και ένα σφάλμα.

funcκύριος() {
// Σύνδεση στην παρουσία Redis
conn, err := redis. Καντράν("tcp", "localhost: 6379")

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

αναβάλλω συν. Κλείσε()
}

Στο κύριος λειτουργία, συνδεθήκατε σε μια παρουσία βάσης δεδομένων Redis που εκτελείται σε θύρα 6379 και έκλεισε τη σύνδεση με το Κλείσε μέθοδος του στιγμιότυπου σύνδεσης και α αναβάλλω δήλωση.

Μπορείτε να εκτελέσετε λειτουργίες Redis χρησιμοποιώντας το Κάνω μέθοδο της παρουσίας σύνδεσής σας. Η μέθοδος Do επιστρέφει μια διεπαφή εξόδου και ένα σφάλμα.

// Ορίστε την τιμή "hello" στο κλειδί "message"
_, err = συν. Κάνω("ΣΕΙΡΑ", "μήνυμα", "Γειά σου")

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

Μπορείτε να ανακτήσετε μια έξοδο συμβολοσειράς μιας λειτουργίας Redis με το Σειρά μέθοδος του redis πακέτο. Η μέθοδος String λαμβάνει το παράδειγμα λειτουργίας και επιστρέφει την τιμή και ένα σφάλμα.

// Λάβετε την τιμή του κλειδιού "μήνυμα"
τιμή, err := redis. Συμβολοσειρά (συν. Κάνω("ΠΑΙΡΝΩ", "μήνυμα"))

αν λάθος!= μηδέν {
fmt. Println (λάθος)
ΕΠΙΣΤΡΟΦΗ
}

fmt. Println (τιμή) // Έξοδος: "γεια"

Μπορείτε να χρησιμοποιήσετε βάσεις δεδομένων SQL με το Go

Υπάρχει υποστήριξη για δημοφιλείς βάσεις δεδομένων και αποθήκες δεδομένων στο οικοσύστημα Go. Το Go παρέχει το πακέτο βάσης δεδομένων/sql ως μέρος της τυπικής βιβλιοθήκης για εργασία με βάσεις δεδομένων SQL.