From 3689daa21134f983d601851510eace49a5678461 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 9 Oct 2021 06:50:23 -0700 Subject: [PATCH] Updated Filer Redis Setup (markdown) --- Filer-Redis-Setup.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Filer-Redis-Setup.md b/Filer-Redis-Setup.md index cd12544..dc50775 100644 --- a/Filer-Redis-Setup.md +++ b/Filer-Redis-Setup.md @@ -17,15 +17,13 @@ This is where `redis3` can help. The internal data structure is: ``` : - : - : + : + : ... ``` -The directory list is stored as a skip list, and the child names are spread into the list items. - -This prevents each directory entry from being too large and slower to access. +The directory list is stored as a skip list, and the child names are spread into the list items. This prevents each directory entry from being too large and slower to access. Skip list has `O(log(N))` access time. With each sorted set storing 1 million names, it should scale very well to billions of files in one directory. Compared to `redis2`, there are extra cost to maintain this list: * Adding or deleting needs one additional lock operation. -* Updating an entry needs to takes O(log(N)) times to access the skip list item first. -So no need to jump to `redis3` in a hurry. +* Updating an entry needs to takes `O(log(N))` times to access the skip list item first. +So no need to jump to `redis3` in a hurry unless you have to.