---
title: "GopherCon 2025: To Trie or Not to Trie: Typeahead Completion Using Redis - Garrett Denis"
url: https://daily.dev/posts/gophercon-2025-to-trie-or-not-to-trie-typeahead-completion-using-redis---garrett-denis-t84hdydeg
source_url: https://www.youtube.com/watch?v=o2_qRSTBZss
type: video:youtube
source: "GopherCon (Gopher Academy)"
published: 2026-05-31T07:46:55.808Z
updated: 2026-05-31T07:58:15.596Z
tags: ["golang", "postgresql", "redis"]
reading_time: 7
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GopherCon 2025: To Trie or Not to Trie: Typeahead Completion Using Redis - Garrett Denis

**[GopherCon \(Gopher Academy\)](https://daily.dev/sources/gopheracademy)** · 7 min read · 0 upvotes · 0 comments

## Summary

A GopherCon 2025 talk by Garrett Denis, principal engineer at School, covering how they replaced slow PostgreSQL LIKE queries for typeahead/mention completion with a Redis-backed prefix trie. The approach precomputes all prefixes for user first and last names, stores them as Redis sorted sets, and uses Lua scripts for lookups. Group membership filtering is handled via Redis set intersections, and intermediate results are cached to speed up repeated queries. The solution brought response times consistently under 40ms. Key gotchas discussed include data sync challenges between PostgreSQL and Redis (no distributed transactions), growing memory usage, and limitations for advanced filtering beyond simple prefix matching.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=o2_qRSTBZss>

## Similar posts on daily.dev

- [Redis array type: short story of a long development](https://daily.dev/posts/redis-array-type-short-story-of-a-long-development-7qzs5np2z) · Hacker News · 0 upvotes · 0 comments
- [Fuzzy String Matching in Django and PostgreSQL](https://daily.dev/posts/fuzzy-string-matching-in-django-and-postgresql-dulfdgbr5) · Planet Python · 1 upvotes · 0 comments

---

Tags: [#golang](https://daily.dev/tags/golang), [#postgresql](https://daily.dev/tags/postgresql), [#redis](https://daily.dev/tags/redis)

[View this post on daily.dev](https://daily.dev/posts/gophercon-2025-to-trie-or-not-to-trie-typeahead-completion-using-redis---garrett-denis-t84hdydeg)
