Redisの高度なテクニック:底層ストレージデータ構造とメモリ最適化

はじめに Redisは高性能なキャッシュミドルウェアとして知られており、他のキャッシュシステムと比較して多様なデータ構造をサポートしています。String、List、Set、SortedSet、HashなどがRedisが外部でサポートするデータ構造ですが、内部でのストレージ方法は伝統的な理解とは異なります。Redisは各データ構造タイプに対して最適化を行っており、異なるデータに応じて異 ...

5月21日 03:36 投稿

Redisにおける動的文字列(SDS)の内部実装とメモリ管理

Redisでは、C言語標準の文字列(char*)を拡張した独自の動的文字列ライブラリ「SDS (Simple Dynamic Strings)」を採用しています。主なソースコードは sds.h と sds.c に実装されています。 1. SDSのデータ構造 SDSは、文字列の長さに応じて複数のヘッダー構造体を使い分け、メモリ使用量を最適化しています。 typedef char *sds; /* 構造体のパディングを無効化し、 ...

5月16日 15:32 投稿