Commit Graph

53 Commits

Author SHA1 Message Date
Shahar Mike
18ca61d29b
feat(namespaces): Initial support for multi-tenant (#3260)
* feat(namespaces): Initial support for multi-tenant #3050

This PR introduces a way to create multiple, separate and isolated
namespaces in Dragonfly. Each user can be associated with a single
namespace, and will not be able to interact with other namespaces.

This is still experimental, and lacks some important features, such as:
* Replication and RDB saving completely ignores non-default namespaces
* Defrag and statistics either use the default namespace or all
  namespaces without separation

To associate a user with a namespace, use the `ACL` command with the
`TENANT:<namespace>` flag:

```
ACL SETUSER user TENANT:namespace1 ON >user_pass +@all ~*
```

For more examples and up to date info check
`tests/dragonfly/acl_family_test.py` - specifically the
`test_namespaces` function.
2024-07-16 19:34:49 +03:00
Shahar Mike
d7351b315e
refactor: Use DbContext, OpArgs and Transaction to access DbSlice (#3311)
This is a refactor that will put us closer to adding namespaces, see
included `docs/namespaces.md`
2024-07-12 08:13:16 +03:00
Roman Gershman
5b6bf1fa96
chore: License update (#2767)
* chore: License update

Fixes #2758

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-09 15:46:14 +03:00
Roman Gershman
f39eac5bca
chore: add benchmarks for a small cloud instance (#1264)
chore: add benchmarks showing single-threded performanc

In addition addressed some questions raised during HN discussions.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-12-04 17:57:57 +02:00
Kostas Kyrimis
1961ff1063
fix(docs): add missing libstdc++-static dependency info (#2077) 2023-10-26 19:04:56 +03:00
omahs
d16195bfb7
fix: typos (#1986) 2023-10-03 13:05:04 +00:00
Vladislav
e0af5fe836
Remove ICU library (#1812)
* chore(search): Replace icu with unialgo

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-09-06 15:06:38 +03:00
Roman Gershman
36be222091
chore: add macos daily build (#1795)
It compiles most of the code though some linking problems still exist.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-09-06 09:35:11 +03:00
Vladislav
5198622a15
feat: Support unicode strings in search (#1698)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
Signed-off-by: Vladislav <vlad@dragonflydb.io>
2023-08-18 15:40:37 +03:00
Muhammad Bin Jamil
19d39a71a3
docs: Add openSUSE dependencies installation instructions (#1585)
* Add openSUSE dependencies installation instructions

* Remove libboost_fiber dependency from docs
2023-07-24 12:47:10 +00:00
Roy Jacobson
23f1a77d4c
Doc: Warn people about benchmarking/deploying without LTO (#1396) 2023-06-12 11:56:07 +02:00
Chaka
5208067507
Add latest dependencies. (#1310)
#1304
2023-05-29 13:55:48 +03:00
Vladislav
ba19cc1047
docs: describe command squashing (#1119)
Signed-off-by: Vladislav <vlad@dragonflydb.io>
2023-04-22 09:02:36 +03:00
Vladislav
b345604226
fix: Remove incremental locking (#1094) 2023-04-15 06:59:19 -07:00
Ikko Eltociear Ashimine
82121a205b
docs(rdb): fix typo (#989)
peform -> perform

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2023-03-25 09:08:39 +03:00
Roman Gershman
a8c1e5cd4a feat: increase expiry period to 8 years.
Related to #923.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-03-13 10:19:11 +02:00
ashotland
9c2363584a Delete api_status.md
Update references to docs site command reference.

Signed-off-by: ashotland <ari@dragonflydb.io>
2023-03-12 08:16:28 +02:00
Leonardo Mello
abe3b3cb91
feat: support cluster mode emulation (#492)
Signed-off-by: Leonardo Mello <lsvmello@gmail.com>
2023-03-01 08:43:40 +02:00
Tarun Pothulapati
e8ca27971c
docs(dashtable): Fix image URL for expiration (#870)
docs(dashtable): Fix image URL for expiration

Replaces the `expiration.svg` image with a working URL.

Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2023-02-23 09:35:14 +02:00
Vladislav
7e08a42314
Update transaction.md (#808)
Update transaction docs to include new multi modes
2023-02-22 10:43:11 +03:00
Roman Gershman
8f1a2a49b5
docs: Add how to build dragonfly on Fedora (#822)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-02-20 17:16:52 +02:00
Roman Gershman
da40b63433
feat(list): Add BLMove command (#753)
Also update api_status with ZUNION and BRPOPLPUSH
Fixes #751

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-02-05 10:55:20 +02:00
Bruno Picinin Cardoso
a7186c5baa
Update README.md (#631)
Signed-off-by: Bruno Picinin Cardoso <brunopicinin@gmail.com>

Signed-off-by: Bruno Picinin Cardoso <brunopicinin@gmail.com>
2023-01-02 08:02:37 +02:00
Pierre Jambet
febcda7935
docs(quickstart): Clarify docker command for macOS (#612)
Clarify docker command for macOS

I had issues when running the command on my m2 macbook air. [It turns
out][1] that apparently docker desktop on macOS doesn't really support
the host option.

Additionally, it looks like I had to explicitly pass the port mapping
options for the ports to be actually mapped.

There might be a better and more efficient solution, but this is what I
came up with and it finally worked.

[1]:https://github.com/docker/for-mac/issues/1031
2022-12-28 18:43:50 +02:00
Roman Gershman
75d35bf987
life of a transaction (#278)
docs(transactions): Add explanations on how Dragonfly transactions work.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-12-27 06:01:11 +02:00
adiholden
685b4411e8
feat(rdb save): add blob compression on snapshot (#505)
Signed-off-by: adi_holden <adi@dragonflydb.io>

Signed-off-by: adi_holden <adi@dragonflydb.io>
2022-11-29 11:12:51 +02:00
adiholden
b395834060
feat(server family): add connection set name command fixes #458 (#485)
server family: add connection set name command fixes #458

Signed-off-by: adi_holden <adi@dragonflydb.io>
2022-11-13 17:54:37 +02:00
b0bleet
acafbc6f4f
feat(server) implement pexpire command (#464)
Signed-off-by: b0bleet b0bleet@placeq.com
2022-11-06 22:07:41 +02:00
Leonardo Mello
efd307dbb9
feat(server): implement TOUCH command (#444)
Signed-off-by: Leonardo Mello <lsvmello@gmail.com>

Signed-off-by: Leonardo Mello <lsvmello@gmail.com>
2022-10-31 21:07:13 +02:00
Roman Gershman
becc0f38c0
docs(build): Canonicalize build from source instructions. Add CLA terms (#454) 2022-10-31 17:45:48 +02:00
Boaz Sade
c9f7cbe0e9
Monitor command (#427)
feat(server): support monitor command - allowing user to debug commands
from all connections by using a connection as monitors for the this
(#344)

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
2022-10-24 18:29:34 +03:00
Roman Gershman
f8f3eac960
feat(server): Allow sampling arena stats from a specified thread (#428)
Also update dense_set.md with a reproducable test on how to see memory differences
of DenseSet vs RedisDict.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-10-24 13:25:31 +03:00
Roman Gershman
d52ab4c59a
docs(server): Update the API status, README and LICENSE date (#410)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-10-20 11:50:42 +03:00
Boaz Sade
b1470ba047
feat(server): support restore command - refactor load class (#343) (#386)
feat(server): adding support for the restore command (#343)

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
Co-authored-by: Boaz Sade <boaz@dragonflydb.io>
2022-10-18 11:13:16 +03:00
Boaz Sade
ad014ebb86
fix(server): support for dump command, API update #343 (#371)
feat(server): adding support for the dump command (#343)

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
Co-authored-by: Boaz Sade <boaz@dragonflydb.io>
2022-10-13 11:32:45 +03:00
Boaz Sade
8f5500af16
feat(server): support for persist command #345 (#354)
fix(server): support for persist command #345

Co-authored-by: Boaz Sade <boaz@dragonflydb.io>
2022-10-04 15:53:18 +03:00
Roman Gershman
b616b1e1fd
feat(server): support epoll linux api (#351) 2022-10-04 11:11:09 +03:00
Boaz Sade
ac90aecde1
feat(server): support for bitop command - unit tests added #213 (#319)
feat(server): bitop command - more code refactor from code review #213

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
Co-authored-by: Boaz Sade <boaz@dragonflydb.io>
2022-09-28 19:32:30 +03:00
Vladislav
0377481e28
feat(server): SORT command prototype (#311)
feat(server): Implement SORT

Fixes #287

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
Co-authored-by: Vladislav Oleshko <vlad@dragonflydb.io>
2022-09-23 07:17:49 +03:00
Boaz Sade
1733af4cf6
feat(server): bitcount commands support and unit tests
feat(server): bitcount commands support and unit tests - 

update docs/api_status.md, update license 
Partially implements #213 

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
Co-authored-by: Boaz Sade <boaz@dragonflydb.io>
2022-09-20 11:07:26 +03:00
Vladislav
16b6b11cf2
feat(server): Implement MOVE command (#298)
* feat(server): Implement MOVE command

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
Co-authored-by: Vladislav Oleshko <vlad@dragonflydb.io>
2022-09-18 20:57:12 +03:00
Boaz Sade
6ec453a599
feat(server): adding support for bitops #213 (#295)
feat(server): bitset bitget commands - update docs/api_status.md #213

Signed-off-by: Boaz Sade <boaz@dragonflydb.io>
2022-09-18 16:20:51 +03:00
Braydn
b8d791961e
feat(core): Added DenseSet and StringSet types (#268)
* feat(core): Added DenseSet & StringSet types with docs

- Improved documentation by adding labels to chain types & pointer tagging table
- Added potential improvements to the DenseSet types in the docs
- Added excalidraw save file for future editing
- Removed ambiguous overloading types
- Renamed iterators to be more clear


* feat(core): Cleaned up DenseSet and Docs
* feat(core): Made DenseSet more ergonomic
* feat(server): Integration of DenseSet into Server

- Integrated DenseSet with CompactObj and the Set Family commands

Signed-off-by: Braydn <braydn.moore@uwaterloo.ca>
2022-09-14 08:41:54 +03:00
Vladislav
ed83b07fad
docs(api): Update api_status.md (#285)
* Update api_status.md
2022-09-13 20:13:34 +03:00
Roman Gershman
ae65c489e5 docs(rdb): More work on the rdb snapshotting document.
Also add some debugging command to control the replication flow.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-08-28 17:27:34 +03:00
Roman Gershman
c72939d0d4 docs(rdb): Add rdbsave high level design. 2022-08-27 22:56:45 +03:00
Roman Gershman
c49e88899b docs(server): Start DF shared nothing design document. 2022-08-20 21:38:33 +03:00
odedponcz
08cda413f7
Move assets to static (#247)
Signed-off-by: Oded Poncz <oded@poncz.com>

Signed-off-by: Oded Poncz <oded@poncz.com>
2022-08-18 22:55:12 +03:00
Rom Grk
1c81bfa66c
doc(quick-start): add note for known issues (#194)
doc: update quick-start
2022-07-08 11:25:24 +03:00
Roman Gershman
c174b3bead
chore(pubsub): update api status (#189)
chore(pubsub): update api status.

Also make subcommand matching for pubsub case insensitive.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-07-04 20:15:27 +03:00