Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zpoint/redis-internals

Analyze redis 5.0 source code through diagrams
https://github.com/zpoint/redis-internals

c learning-material redis redis-internals

Last synced: about 4 hours ago
JSON representation

Analyze redis 5.0 source code through diagrams

Awesome Lists containing this project

README

        

# Redis Internals![image title](http://www.zpoint.xyz:8080/count/tag.svg?url=github%2FRedis-Internals)

* [简体中文](https://github.com/zpoint/Redis-Internals/blob/5.0/README_CN.md)
* **Watch** this repo if you need to be notified when there's update

This repository is my notes for [redis](https://github.com/antirez/redis) source code

```c
# based on version 5.0.5
cd redis
git fetch origin 5.0:5.0
git reset --hard 388efbf8b661ce2e5db447e994bf3c3caf6403c6

```

# Table of Contents

* [Objects](#Objects)
* [Server](#Server)
* [Why this repo](#Why-this-repo)
* [Learning material](#Learning-material)
* [Contribution](#Contribution)
* [License](#License)

# Objects
- [x] [string(sds)](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/sds/sds.md)
- [x] [hash(ziplist/ht)](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/hash/hash.md)
- [x] [list(quicklist)](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/list/list.md)
- [x] [set(intset/ht)](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/set/set.md)
- [x] [zset(ziplist/skiplist/ht)](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/zset/zset.md)
- [x] [hyperloglog](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/hyperloglog/hyperloglog.md)
- [x] [streams](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/streams/streams.md)
- [x] [rax](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/rax/rax.md)
- [x] [listpack](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/listpack/listpack.md)
- [x] [geohash](https://github.com/zpoint/Redis-Internals/blob/5.0/Object/geohash/geohash.md)

# Server

- [x] [persistence](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/persistence/persistence.md)
- [x] [pubsub](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/pubsub/pubsub.md)
- [x] [cluster](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/cluster/cluster.md)
- [x] [reshard](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/cluster/cluster.md#reshard)
- [x] [gossip](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/cluster/gossip/gossip.md)
- [x] [failover](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/cluster/failover/failover.md)
- [ ] [replica](https://github.com/zpoint/Redis-Internals/blob/5.0/Server/replica/replica.md)
- redlock
- protocol
- transaction

# Why this repo

* learning purpose
* there are very good chinese [learning material](#learning-material), but no english version
* the book in [learning material](#learning-material) is based on redis 3.0, the implenentation detail may changed a lot from 3.0 to the current version

# Learning material

* [Redis 设计与实现](http://redisbook.com/)
* [Redis Documentation](https://redis.io/documentation)
* [Redis 5.0 RELEASENOTES](https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES)

# Contribution

All kinds of contributions are welcome

* submit a pull request
* if you want to share any knowledge you know
* post a new article
* correct any technical mistakes
* correct english grammar
* translation
* anything else
* open an issue
* any suggestions
* any questions
* correct mistakes
* anything else

# [License](https://creativecommons.org/licenses/by-nc-sa/4.0/)