Commit Graph

19 Commits

Author SHA1 Message Date
Roman Gershman 65f35f2cac Some improvements to snapshotting algo.
Rename rdb_snapshot.h to snapshot.h since it's not related to the underlying serialization format.
2022-02-24 14:11:51 +02:00
Roman Gershman b2953293cd Simplify cursor encoding and state clearly cursor valid range 2022-02-24 14:11:51 +02:00
Roman Gershman ec91b2c026 Add mimalloc as the default allocator for redis structures 2022-02-24 14:11:51 +02:00
Roman Gershman ce46ba7cb1 Introduce snapshot isolation using versioned buckets 2022-02-24 14:11:51 +02:00
Roman Gershman 8d19a6211d Introduce versioned bucket support for MVCC operations 2022-02-24 14:11:51 +02:00
Roman Gershman 069ed12c68 Introduce a naive snapshot flow and implement SaveBody for string/list entries 2022-02-24 14:11:51 +02:00
Roman Gershman 7a839b6081 Fix size() bug in dashtable
add more stats to info command
fix warnings in -O3 mode.
2022-02-24 14:11:51 +02:00
Roman Gershman f4cfce143c Switch PrimeTable to DashTable 2022-02-24 14:11:51 +02:00
Roman Gershman d086341996 Add HashCode support to CompactObject 2022-02-24 14:11:51 +02:00
Roman Gershman c46e624e70 Model dashtable iterator as close as possible to std iterator 2022-02-24 14:11:51 +02:00
Roman Gershman ff9e13c1c5 Add dash table 2022-02-24 14:11:51 +02:00
Roman Gershman fac4bf0354 Add INCR/DECR commands 2022-02-24 14:11:50 +02:00
Roman Gershman 5715b8ebbb Use compact object as our MainValue type 2022-02-24 14:11:50 +02:00
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 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 e7071b73b1 Refactor server commands into server_family.
Introduce FlushDb. Minor cleanups and renamings.
2022-01-08 11:07:31 +02:00
Roman Gershman 29cdcb96ec Add generic_family_test. Minor cleanups 2022-01-04 15:11:37 +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 7fe07f8e4f Introduce TxQueue and IntentLock for VLL algo 2021-12-20 22:46:51 +02:00