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.