1
0
Fork 0
mirror of https://github.com/dragonflydb/dragonfly.git synced 2024-12-14 11:58:02 +00:00
Commit graph

2945 commits

Author SHA1 Message Date
Roman Gershman
aa2136a406 Add CompactObject that will represent all the possible dragonfly types
Specifically, it act as union for int,string, set, zset and other types
that exist in Redis API. In order to be more memory friendly, CompactObject
incorporates inline storage that will be used for SSO.
2022-02-24 14:11:43 +02:00
Roman Gershman
ea399e3e5a Identify multi-blpop interaction bug.
Now it fails on missing functionality without deadlocking.
2022-01-13 13:10:34 +02:00
Roman Gershman
fc63eec1b6 Add BLPOP support 2022-01-12 08:59:22 +02:00
Roman Gershman
0cf2f57bf2 Fix expiry bug in AddOrFind function
Also add more test coverage.
Fix a bug where iterators might get invalidated between Renamer hops.
Initial work on BLPOP transaction.
2022-01-12 08:48:41 +02:00
Roman Gershman
a82c409006 Update state of things 2022-01-09 20:43:49 +02:00
Roman Gershman
6ed248efdf more planning for the next milestones 2022-01-08 20:36:52 +02:00
Roman Gershman
0c14be51d4 Add detailed status regarding the first milestone (Egg) 2022-01-08 19:39:30 +02:00
Roman Gershman
e7071b73b1 Refactor server commands into server_family.
Introduce FlushDb. Minor cleanups and renamings.
2022-01-08 11:07:31 +02:00
Roman Gershman
76286e33bf Add more dragonfly tests 2022-01-07 18:46:57 +02:00
Roman Gershman
35fa69c928 Add EXEC transaction support. Introduce dragonfly_test.cc 2022-01-06 15:48:51 +02:00
Roman Gershman
9e5a5ea2f2 Introduce Rename command 2022-01-05 00:56:58 +02:00
Roman Gershman
29cdcb96ec Add generic_family_test. Minor cleanups 2022-01-04 15:11:37 +02:00
Roman Gershman
5a7a67fbcf Introduce list_family_test 2022-01-04 10:47:49 +02:00
Roman Gershman
6b7ed73753 Implement client side resp parsing to be used in tests 2022-01-04 01:16:24 +02:00
Roman Gershman
a4d8ded6ce Add string_family_test.cc unit test
Add unit test helper code that we will leverage for writing more unit tests.
Numerous fixes in the transactional code. Allow controlling of expiration clock
in unit-test environment with configurable task synchronization. The latter is enabled
for prod and disable in the tests.
2022-01-03 11:20:08 +02:00
Roman Gershman
d64b4e01ea Implement basic list operations
Fix redis linker dependencies. Bring more redis (BSD-3) code.
Fix bugs related to multi-database redis.
Introduce multiple types for redis values.
2022-01-02 10:40:16 +02:00
Roman Gershman
b1b0213cd2 Add bunch of redis files
Files are taken from redis commit e84ccc3f566f78344b098c3eef6e371653bc311b
We need low-level redis datastructures for encoding values that are not strings,
i.e. lists, sets, zsets etc.
2021-12-27 10:03:29 +02:00
Roman Gershman
55ee0563b0 Consolidate generic commands under generic_family. Add Del, Echo, Ttl and select commands 2021-12-26 17:25:49 +02:00
Roman Gershman
b1f32e5ebf Add MGet and MSet commands 2021-12-23 15:11:46 +02:00
Roman Gershman
ebd404ff5d Introduce VLL transactions 2021-12-22 17:17:52 +02:00
Roman Gershman
a0dfb3171a Fix checkout directive 2021-12-21 11:29:59 +02:00
Roman Gershman
08767afa1e Add ci badge to README 2021-12-21 11:07:29 +02:00
Roman Gershman
1b52488ee9 Add github ci workflow 2021-12-21 10:50:46 +02:00
Roman Gershman
7fe07f8e4f Introduce TxQueue and IntentLock for VLL algo 2021-12-20 22:46:51 +02:00
Roman Gershman
ac2eb7d45c Adding expiry functionality.
1. Major refactoring
2. LICENSE is updated with commons clause.
3. Server is built as "dragonfly"
2021-12-20 11:42:55 +02:00
Roman Gershman
a69c967321 Add debug populate command 2021-12-07 08:27:11 +02:00
Roman Gershman
45294f8c2f Fix reply batching. 2021-11-30 21:01:09 +02:00
Roman Gershman
6c5e4dad3b Rename main binary to midi-redis 2021-11-30 10:11:59 +02:00
Roman Gershman
e7dc509fed Add prometheus-like metric support and allow connection affinity according to INCOMING_CPU 2021-11-29 21:50:08 +02:00
Roman Gershman
d7b22ca582 Add APACHE-2.0 license. Fix file headers everywhere 2021-11-28 09:29:26 +02:00
Roman Gershman
6d32e56fbb
Update README.md 2021-11-24 14:17:44 +02:00
Roman Gershman
18525d2b5e Introduce some pipelining support.
Also some refactoring.
2021-11-24 14:09:53 +02:00
Roman Gershman
9a6e8e31be Add basic GET command for both mc and redis 2021-11-23 17:56:31 +02:00
Roman Gershman
5ebbfa5a64 Adding memcached protocol support for dragonfly 2021-11-23 12:39:35 +02:00
Roman Gershman
d4b708d33c Introduce basic memcached parser 2021-11-22 09:43:43 +02:00
Roman Gershman
9282d96d00 Add tls support and config flags simulating redis configuration params 2021-11-19 18:00:14 +02:00
Roman Gershman
bf714b1a64 Introduce command registry and dispatcher entry point.
Change set/ping commands to work with registry mapping.
Registry commands are defined according to redis spec.
2021-11-18 18:38:20 +02:00
Roman Gershman
9c1b1e495d Rename async to helio 2021-11-18 17:14:05 +02:00
Roman Gershman
38478cf069 Add connection context that will serve us as an interface between command handler and the service 2021-11-17 16:38:32 +02:00
Roman Gershman
ec78c8a2af Add SET command and thread local db slice 2021-11-17 16:33:36 +02:00
Roman Gershman
48589604fc Bind redis parser to dragonfly connection 2021-11-17 16:33:34 +02:00
Roman Gershman
f2bc27e283 Add redis parser + test 2021-11-17 16:32:14 +02:00
Roman Gershman
2bce379341 Add dragonfly skeleton: listener, connection and main 2021-11-17 16:32:08 +02:00
Roman Gershman
90516b53dd Add async library to the project 2021-11-16 09:59:13 +02:00
Roman Gershman
503aa8af52
Initial commit 2021-11-16 09:41:42 +02:00