Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/zpoint/redis-internals
- Owner: zpoint
- Created: 2019-07-19T00:32:24.000Z (over 5 years ago)
- Default Branch: 5.0
- Last Pushed: 2022-03-12T05:52:40.000Z (over 2 years ago)
- Last Synced: 2023-11-07T18:24:52.844Z (about 1 year ago)
- Topics: c, learning-material, redis, redis-internals
- Language: C
- Homepage:
- Size: 8.14 MB
- Stars: 318
- Watchers: 37
- Forks: 31
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: change_code_reference.py
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 updateThis 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/)