18 Commits

Author SHA1 Message Date
John Sully
f9f4c719d4 Isolate the persistent parts of the database from the runtime parts
Former-commit-id: 8d63f5b560d067a634f2ef671962be8815c9e23c
2019-10-13 15:24:08 -04:00
John Sully
b4a34cd600 Hide the database dict
Former-commit-id: 024365521c2b74275839562ba9326b6ea26d3836
2019-10-13 15:13:01 -04:00
John Sully
2fc9bb0c8d You are not allowed to set a subkey expire if the subkey does not exist
Former-commit-id: 12e17cfd6e9cc1e470f26c88b58ce5831d10358f
2019-10-13 14:11:43 -04:00
John Sully
ac243ae4bf Implement the EXPIREMEMBERAT command
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
650085d61a Add millisecond support for EXPIREMEMBER command
Former-commit-id: 6e6cd84ad7dc9e5763ab36668cbbf8ca6743f8d9
2019-10-13 12:57:50 -04:00
John Sully
e57d2e24c9 Update more slave instances to use replica (Issue #75)
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
0a00341a80 Implement TTL and PERSIST commands for subkeys. Also ensure expiremember replaces any old subkey expiries
Former-commit-id: 16f96efbe7c6c27f2a79f5b472447407f905df15
2019-10-13 12:03:25 -04:00
John Sully
b3de6fcf26 Optimize the new expire code
Former-commit-id: 75c6b4c64a9c9f39654c16b1f5ff5a003d24afbc
2019-08-02 21:31:05 -04:00
John Sully
e06c38f1d3 Plumb support for sub expires to all expire related code
Former-commit-id: 184abac6942a9a6aa8783741b50b23210afddcc5
2019-07-23 18:53:59 -04:00
John Sully
95371d60fe Fix crash with traditional expiration
Former-commit-id: 0ba5b2c3d66d3a1a520f223ad2c288c22601bd5a
2019-07-23 18:53:58 -04:00
John Sully
94645b33dd Initial prototype of EXPIREMEMBER command
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
e04cff2cfe Support TTL stats with the new expire datastructure
Former-commit-id: 271df3dad4f55f20177a8a9a065778f4943835f1
2019-07-23 18:30:10 -04:00
John Sully
a060bc7942 New expire datastructure and algorithm. Allows us to expire in sublinear time
Former-commit-id: 3880d2616c882e19169180dc10268564347b0279
2019-07-23 18:30:10 -04:00
John Sully
33acb40633 Merge commit '985e5b2c608eade2a60e50a6a177f13381c9c8d8' into unstable
Former-commit-id: 4602f8c391409e9dd59f1fbee6a5ef011b219ca1
2019-07-19 00:01:56 -04:00
John Sully
6ae796cb91 refactor server global into a pointer (so that threadsafe commands can set this to NULL to prove they don't rely on it
Former-commit-id: 37b2d046bef12c7ee7cac4883f0b64ddde236d74
2019-04-21 14:01:10 -04:00
John Sully
83adc0eabb Factor out some normally const globals
Former-commit-id: fa2e407873fce7f936943ae1fe162d54d7bedd70
2019-04-21 13:20:45 -04:00
John Sully
0e10e4f6f5 Start of MVCC support (and more C++)
Former-commit-id: c4621a5ed2a7d8ca5034f2fbe8b71550f290ea64
2019-04-16 23:16:03 -04:00
John Sully
68bec6f239 Move remaning files dependent on server.h over to C++
Former-commit-id: 8c133b605c65212b023d35b3cb71e63b6a4c443a
2019-04-08 01:00:48 -04:00