Open in app

Sign In

Write

Sign In

Ruian
Ruian

280 Followers

Home

About

Published in Dcard Tech Blog

·May 5, 2022

Dcard Backend Team 如何讓工程師能更專注在列表排序與組合的演算法?

跟複雜的資料庫分頁說掰掰 作為一個致力讓所有人都能找到共鳴的平台,Dcard 不斷地在嘗試讓使用者能更快速的找到感興趣的內容。其中包含依據服務地區不同有不同的首頁文章列表、主題策展列表、即時熱門看板列表、精選看板列表,也有每個使用者專屬的追蹤列表、推薦文章列表,甚至連推薦通知都是。 這麼多各式各樣的列表要提供給使用者,Dcard Backend Te …

Software Development

7 min read

Dcard Backend Team 如何讓工程師能更專注在列表排序與組合的演算法?
Dcard Backend Team 如何讓工程師能更專注在列表排序與組合的演算法?
Software Development

7 min read


Published in Better Programming

·Feb 21, 2022

Working on High-Performance Golang Client Library — Remove the Bad Busy Loops With the Sync.Cond

Use sync.Cond with and without the sync.Mutex — This is the third topic in the series about the common tips I learned from building rueidis, a high-performance Golang Redis client library. I think those tips are worth sharing because they can also be useful for daily Golang programming: Part 1 — Batching on pipeline Part 2 — Reading…

Programming

5 min read

Working on High-Performance Golang Client Library — Remove the Bad Busy Loops With the Sync.Cond
Working on High-Performance Golang Client Library — Remove the Bad Busy Loops With the Sync.Cond
Programming

5 min read


Published in Better Programming

·Feb 11, 2022

Working on High-Performance Golang Client Library — Reading Again From Channels?

Custom ring queue and its problems — This post is the second topic in the series about the common tips I learned from building rueidis, a high-performance golang Redis client library. Those tips can also be useful for daily golang programming: Part 1 — Batching on pipeline Part 2 — Reading again from channels? Part 3 —…

Programming

6 min read

Working on High-Performance Golang Client Library — Reading Again From Channels?
Working on High-Performance Golang Client Library — Reading Again From Channels?
Programming

6 min read


Published in Better Programming

·Feb 2, 2022

Writing a High-Performance Golang Client Library — Batching on Pipeline

Batching on the writing path of the pipeline the right way — Rueidis is a high-performance Golang Redis client library I built recently on my own in order to use the server-assisted client side caching feature which has not been well supported yet by other existing golang libraries since time Redis 6 was released (in 2020). Besides client-side caching, I learned a…

Golang

4 min read

Writing a High-Performance Golang Client Library — Batching on Pipeline
Writing a High-Performance Golang Client Library — Batching on Pipeline
Golang

4 min read


Published in Dev Genius

·Jan 22, 2022

Redis 6 server-assisted client-side caching with Golang

Most people use Redis as a remote cache store because it is fast. Redis 6 can make it even faster, from the users’ point of view, by eliminating unnecessary network roundtrips. Server-assisted client-side caching The technique is simple. Redis 6 will keep track of what keys the client requested, and notify the client…

Redis

3 min read

Redis 6 server-assisted client side caching with Golang
Redis 6 server-assisted client side caching with Golang
Redis

3 min read


Published in Dcard Tech Blog

·Mar 15, 2020

PostgreSQL 使用 Extended Query Protocol 避免頻寬與效能浪費

你的 lib 能啟用 Binary Representation 傳遞參數與結果嗎? — 此文章也有於 Golang Taipei Gathering #50 x Dcard 分享的版本,其中差異在於改用 wireshark 展示並補充 Connection Pool 細節: https://speakerdeck.com/rueian/golang-postgresql-libraries-comparison-with-wires …

Postgres

11 min read

PostgreSQL 使用 Extended Query Protocol 避免頻寬與效能浪費
PostgreSQL 使用 Extended Query Protocol 避免頻寬與效能浪費
Postgres

11 min read


Published in pgsql-tw

·Jan 1, 2020

續: PostgreSQL 如何估算 LIKE 的 Return Rows 數量

使用 LIKE 前,先看看 like_support.c — 較好的閱讀體驗可看 Github Issue 版本:https://github.com/rueian/postgres/issues/2 序 接續在前篇文章中提過,底層 scan node 的 row estimation 結果以及上層其他 plan node 操作會綜合影響資料庫最後使用哪一個 plan,所以 scan node 的 row es …

Postgres

9 min read

PostgreSQL 如何估算 LIKE 的 return rows 數量
PostgreSQL 如何估算 LIKE 的 return rows 數量
Postgres

9 min read


Published in pgsql-tw

·Dec 21, 2019

PostgreSQL 如何估算 HashAggregate 的 Return Rows ,以及低估的後果

相信 Query Planner 前,先看看 selfuncs.h — 較好的閱讀體驗可看 Github Issue 版本:https://github.com/rueian/postgres/issues/1 序 PostgreSQL 資料庫是怎麼決定如何執行 SQL 的呢?其中一個很重要的步驟就是預估 Return Rows 的數量,它被用來: 給底層的 Scan Node 比較各種 Access Method (Seq …

Postgres

11 min read

PostgreSQL 如何估算 HashAggregate 的 Return Rows ,以及低估的後果
PostgreSQL 如何估算 HashAggregate 的 Return Rows ,以及低估的後果
Postgres

11 min read

Ruian

Ruian

280 Followers

Software engineer experienced in Golang, Database and Networking. https://github.com/rueian

Following
  • Netflix Technology Blog

    Netflix Technology Blog

  • Larry Lu

    Larry Lu

  • Dcard Tech

    Dcard Tech

  • 張泰瑋 David Chang

    張泰瑋 David Chang

  • MinHsien Chang (LightBlue)

    MinHsien Chang (LightBlue)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech