{"repo":"asheshvidyut/treds","free":true,"listed":false,"github":"https://github.com/asheshvidyut/treds","clone":"git clone https://github.com/asheshvidyut/treds.git","description":"Sorted Data Structure Server - Treds is a Data Structure Server which returns data in sorted order and is the fastest prefix search server. It also persists data on disk.","language":"Go","stars":65,"topics":["datastructures","datastructures-algorithms","datastructures-algorithms-golang","golang","prefix","prefix-search","radix-tree","go","new-architecture","new-data-structure"],"license":"MIT","category":"data-pipelines","readme_excerpt":"Treds - Sorted Data Structure Server Treds is a Radix Trie based data structure server that stores keys in sorted order, ensuring fast and efficient retrieval. A scan operation returns keys in their sorted sequence. How it is different from Redis? Keys at root level having a common prefix can be queried optimally SCANKEYS/SCANKVS/KEYS/KVS commands returns the results in sorted order Unlike Redis KEYS, Treds KEYS has cursor and matches any valid regex expression also it returns count number of data if data is there Unlike Redis SCAN, Treds SCAN always returns count number of data if data is there. Treds SCAN works on prefix only. Unlike Redis ZRANGEBYLEX, Treds ZRANGELEX always returns data irrespective of score, basically data across different scores are returned Unlike Redis PSUBSCRIBE, Treds PSUBSCRIBE is designed to work with channels having a common prefix It has Sorted Maps instead of Sorted Sets. So we can create a Sorted Key/Value pair with associated with a score New command - DELPREFIX - Deletes all keys having a common prefix and returns number of keys deleted New command - LNGPREFIX - Returns the key value pair in which key is the longest prefix of given string New command - PPUBLISH - Publish a message to all channels that have names with the given channel as their prefix Currently, it only has Key/Value store, Sorted Maps store, List store, Set store and Hash store and only supports strings/number as values Internals It is single threaded and has event loop. Impl","default_branch":null,"files":null,"tree":[],"storefront":"/r/asheshvidyut","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/asheshvidyut/treds/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}