

Vedis – An Embeddable Implementation of Redis - symisc_devel
https://github.com/symisc/vedis

======
shadowmint
[http://vedis.symisc.net/licensing.html](http://vedis.symisc.net/licensing.html)

    
    
        Redistributions in any form must be accompanied by information on
        how to obtain complete source code for the Vedis engine and any
        accompanying software that uses the Vedis engine software.
    
        ...
    
        The commercial license permits closed-source distribution of an 
        application to third parties. If you do not want to release the 
        source code for your application, you may purchase a license from 
        Symisc Systems.
    

Ho hum.

Great project though, looks cool.

------
yjh0502
It seems that multiple files are merged into single vedis.c file. It's good
for embedding into application, sqlite does the same, but I think it's better
to open original source code and a Makefile to generate embeddable source
code, at least if they want to get contributions from community.

------
pbnjay
I understand why you want to trade in on the Redis name and brand, but this is
NOT an "Implementation of Redis" in any way as far as I can tell. This is a
facsimile of a subset of the commands available in redis.

------
nasalgoat
Wouldn't you just store your values as an array?

The point of redis is having external, shared memory.

~~~
ramchip
_Vedis is a standard key /value store similar to Berkeley DB, Tokyo Cabinet,
LevelDB, etc. but with a rich feature set including support for transactions
(ACID), concurrent reader, etc._

------
politician
Can multiple processes access the same database? Or is the model similar to
sqlite?

~~~
shadowmint
Similar to sqlite it looks like, it returns VEDIS_BUSY if concurrent write
operations are attempted for various calls.

~~~
andrewguenther
well that's one way to get ACID compliance...

------
derefr
Random idea: this could probably be embedded quite easily into the Erlang VM.
You'd then be able to spawn() "a Vedis keyspace" as easily (and scalably) as
you can currently spawn an ETS table. Might be useful in place of both Mnesia
and network-connected Redis.

