Hi,
I have recently started using dragonfly just by replacing my redis docker image with dragonfly image, It’s running absolutely fine. But a few tasks which were working seemless on redis are not working in dragonfly.
Is there any limitation or best practices on how to use this, As I see most of the places it is said 100% supporting all redis commands & operations. We just need to use same redis port & configure dragonfly image.
Any help would be greatly appreciated. Thanks in advance!
Hi there,
Thank you for choosing Dragonfly and sharing your experience!
Dragonfly is indeed 100% compatible with the Redis wire protocol, and we’re committed to supporting as many Redis commands as possible. Currently, Dragonfly supports over 250 commands, including most of the commonly used ones, as of Sep 2024.
However, if certain tasks that worked with Redis aren’t functioning the same way with Dragonfly, it would be really helpful if you could provide more details or examples of the specific tasks or commands you’re running. This will allow us to better understand the issue and provide more targeted assistance.
Hi @joezhou_df ,
I’m running my application using Jenkins with Dragonfly and trying to load the dump into DB which has less than 1GB.
I’m running dragonfly using docker with maxmemory 6gb and cpus 2. While inserting keys into DB it’s taking longer than expected time. (Ex. It’s taking more than 2 days). With redis it’s taking very less time (Ex. 2 min.)
Any help would be greatly appreciated. Thanks in advance!
Follow-up questions:
- Can you clarify what you mean by “running my application using Jenkins?” Isn’t Jenkins a CI/CD pipeline?
- Is the dump in RDB format (created by Redis, not by Dragonfly)?
- Where’s the dump file located relative to your Docker container?
This is indeed weird. Dragonfly is able to load a Redis RDB dump, and two days is not normal. Although I suspect this is more of a configuration issue than something wrong with Dragonfly itself. Let’s see.
Hi,
- Can you clarify what you mean by “running my application using Jenkins?” Isn’t Jenkins a CI/CD pipeline? - Yes it’s Jenkins CI/CD pipeline.
- Is the dump in RDB format (created by Redis, not by Dragonfly)? - Yes, the dump file is in RDB format which is created by Redis which we are using currently, but going forward we will create by dragonfly
- Where’s the dump file located relative to your Docker container? - We fetch dump file from AWS S3
docker run -it --rm -d -p 6380:6379 --name dragonfly --ulimit memlock=-1 --cpus=2 -v /home/rzs/Dragonfly/dragonflydata:/data docker.dragonflydb.io/dragonflydb/dragonfly dragonfly --logtostderr --dir /data --maxmemory=512m --tiered_prefix /data/tiered --dbfilename dump - Here is the Docker command I’m using to run the Dragonfly in Linux Machine
I have also tried by increasing maxmemory till 6GB (Tried with 1GB, 2GB, 4GB and 6GB) and CPUs count till 4 (Tried with 2 and 4)
Hi @tejaswinikandra111
Two things:
- The rdb file is
1gb
right ? It seems weird that it’s taking days and not a few seconds. Would you mind sharing the rdb file?
- Could you plz spin up a
dragonfly
instance and make it a replica of the redis
instance ? Does the same issue persist (that is, it’s still taking too long?)
All in all I would like to reproduce this so I can help you further
1 Like