This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый клиент Golang Redis, который выполняет автоматическую конвейерную обработку и поддерживает кэширование на стороне клиента.
package main
import (
"context"
"github.com/redis/rueidis"
)
func main() {
client, err := rueidis.NewClient(rueidis.ClientOption{InitAddress: []string{"127.0.0.1:6379"}})
if err != nil {
panic(err)
}
defer client.Close()
ctx := context.Background()
// SET key val NX
err = client.Do(ctx, client.B().Set().Key("key").Value("val").Nx().Build()).Error()
// HGETALL hm
hm, err := client.Do(ctx, client.B().Hgetall().Key("hm").Build()).AsStrMap()
}
▪️ Github
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1😱1
Вакансии для Golang-разработчиков за последние 14 дней:
✓ Golang Software Engineer. Удалённо, 6000–7000
✓ Backend Developer Удалёнка, 250 000–400 000 ₽
✓ Backend Golang-разработчик Удалённо, от 2500 до 5500 $
✓ GO Engineer Удалённо, 6000–7000 $
✓ Golang разработчик Удалённо/гибрид (Ульяновск/Краснодар), 150–230 т.р.
✓ Golang Developer (architect) Удалённо, 4 000–6 000 $
✓ Golang Backend Удалённо (МСК), 350–400 т.р.
✓ Golang Backend Developer Удалёнка (РФ), 280–350 т.р.
✓ Golang + Blockchain Software Engineer Удалённо, 6000–7000 USD
✓ Golang Blockchain Engineer Удалённо, 6 000–7 000 USD
#подборка #go
✓ Golang Software Engineer. Удалённо, 6000–7000
✓ Backend Developer Удалёнка, 250 000–400 000 ₽
✓ Backend Golang-разработчик Удалённо, от 2500 до 5500 $
✓ GO Engineer Удалённо, 6000–7000 $
✓ Golang разработчик Удалённо/гибрид (Ульяновск/Краснодар), 150–230 т.р.
✓ Golang Developer (architect) Удалённо, 4 000–6 000 $
✓ Golang Backend Удалённо (МСК), 350–400 т.р.
✓ Golang Backend Developer Удалёнка (РФ), 280–350 т.р.
✓ Golang + Blockchain Software Engineer Удалённо, 6000–7000 USD
✓ Golang Blockchain Engineer Удалённо, 6 000–7 000 USD
#подборка #go
📘 На Stepik вышел курс — «Golang - микросервисная архитектура, проектирование API»
Уже знакомы с Go и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.
• Полный путь от сетевых протоколов до Kubernetes: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• Практика на реальных кейсах: проектируем API, пишем микросервисы, покрываем тестами, выкатываем CI/CD
• 180+ интерактивных заданий с автопроверкой — код прямо в браузере, в любое удобное время
• Итоговый pet-project: к финалу курса у вас будет рабочая мини-экосистема из нескольких сервисов
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов
👉 Пройти курс на Stepik
Уже знакомы с Go и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.
• Полный путь от сетевых протоколов до Kubernetes: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• Практика на реальных кейсах: проектируем API, пишем микросервисы, покрываем тестами, выкатываем CI/CD
• 180+ интерактивных заданий с автопроверкой — код прямо в браузере, в любое удобное время
• Итоговый pet-project: к финалу курса у вас будет рабочая мини-экосистема из нескольких сервисов
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов
👉 Пройти курс на Stepik
Stepik: online education
Golang — микросервисная архитектура, проектирование API
Этот курс позволит вам освоить основы микросервисной архитектуры для разработки backend сервисов на языке golang.
модель OSI
tcp/ip
udp
http/https
принципы solid
Стандартная библиотека net/http
фреймворки Gin, Echo, Fiber
микросервисная архитектура…
модель OSI
tcp/ip
udp
http/https
принципы solid
Стандартная библиотека net/http
фреймворки Gin, Echo, Fiber
микросервисная архитектура…
🦦 Otter
Самая быстрая библиотека golang in-memory cache, основанная на алгоритме
Внутри используется хеш таблица, которая имеет мьютекс на каждый бакет
Также исрользуется несколько трюков для избегания частых локов политики вытеснения: при чтении используются wait-free буфферы, которые иногда могут терять данные, но так как главная задача кеша - хранить наиболее частые элементы, то потери незначительны + реализация mpsc очереди при записи, которая значительно превосходит каналы по перфомансу и принцип из статьи bp-wrapper, который коротко можно назвать "batch, batch, batch" aka кеш не обновляет политику мгновенно, а только после наполнения небольшого буффера.
Самая быстрая библиотека golang in-memory cache, основанная на алгоритме
S3-FIFO
. Раюотает во много раз быстрее, чем Ristretto.Внутри используется хеш таблица, которая имеет мьютекс на каждый бакет
+ seq lock
для чтения + каждый бакет помещается в две кеш линии, что предотвращает false sharing
и это намногооо быстрее map с мьютексом и sync.Map. Также исрользуется несколько трюков для избегания частых локов политики вытеснения: при чтении используются wait-free буфферы, которые иногда могут терять данные, но так как главная задача кеша - хранить наиболее частые элементы, то потери незначительны + реализация mpsc очереди при записи, которая значительно превосходит каналы по перфомансу и принцип из статьи bp-wrapper, который коротко можно назвать "batch, batch, batch" aka кеш не обновляет политику мгновенно, а только после наполнения небольшого буффера.
go get -u github.com/maypok86/otter
▪️Github