Lazarus
Programming => Databases => Topic started by: BrokenCode on May 22, 2017, 05:52:39 pm
-
Hello
We are using Lazarus/Freepascal in a multi-threaded Firebird environment, but are looking into running an in-memory NOSQL database such as Redis to increase our throughput.
We cannot find suitable Redis components for Lazarus, although there are some for Delphi. Does anyone know of any such components ? And in general any other components for other NOSQL database.
Thanks
-
This one is listed in redis website: https://github.com/ik5/redis_client.fpc
Well, it's 5 years behind but it's written without any specific redis command in mind, i.e. you give the command as string with parameters as array of const. Logically, hoping that there's no protocol change, it can be used with current redis version.
-
Thanks. We had seen this but were concerned that there had been no updates in 5 years and does not appear to be actively supported. There is always a possibility that breaking changes may occur in Redis and lack of support for this package would expose us.
Will try it out anyway.
-
The mORMot is also a NoSQL possibility. Through MongoDB.
Used in production.
See:
https://github.com/synopse/mORMot
https://github.com/synopse/mORMot/tree/master/SQLite3/Samples/24%20-%20MongoDB
https://synopse.info/fossil/wiki?name=SQLite3+Framework
https://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_83
-
Thank you, this will help as we are considering MongoDB for other purposes
-
you can try couchebase...
i found several weeks ago fpc/delphi client
-
Thanks. How is the performance, and do you possibly have a link for the client ?
-
https://blog.grijjy.com/2017/01/05/working-with-big-data-databases-in-delphi-cassandra-couchbase-and-mongodb-part-1-of-3/
I've never used it but I know it exists.
JD
-
I've tried the https://github.com/ik5/redis_client.fpc and can't get it working.
Would love to be able to talk to Redis, memcached, ActiveMQ, and other modern tools.
-
But I DID get this fork to work: https://github.com/rickvavilin/redis_client.fpc
-
were there any modifications you did to the code?
with what version of redis did it work?
thank you
-
No modifications at the moment, but it looks like there are some needed.
The line parser doesn't work so you get meta information in your output, I've forked the project and will be working on fixes and upgrades (I need this functionality too).
As for Redis version, I grabbed the official Docker build which says 4.0.1
-
This is where I'll be committing the updates: https://github.com/MFernstrom/fpc-redis-client
-
I spoke too soon, the driver seems to be working fine.
I'm going to be adding more commands though.