I am happy to announce the next version of localmemcache (0.2.0), a
library that aims to provide an interface similar to memcached but for
accessing local data instead of remote data. It's based on mmap()'ed
shared memory for maximum speed.
Changes for 0.2.0:
* Localmemcache uses logging now: In case your application is terminated
while accessing the shared memory (eg by a kill -9), localmemcache is
now able to restore the integrity of your data.
* \0 character can now be used in keys and values
* The ruby binding now features a keys() method.
* Added a C API.
0.2.0 facts:
- lightweight: The core library is just about 1300 lines of C code
- fast: About 40% slower than Ruby's hash (or about 36 times
faster than a local memcached).
(In case rubyforge has not yet updated the mirrors, fetch the 0.2.0 gem
from here: http://github.com/sck/localmemcache/downloads and then do
# gem install localmemcache-0.2.0.gem )
CONTACT
Please contact me with bugs, suggestions and patches at: schween + snafu # de
I am happy to announce the next version of localmemcache (0.2.0), a
library that aims to provide an interface similar to memcached but for
accessing local data instead of remote data. It's based on mmap()'ed
shared memory for maximum speed.
Very nice!!
I've been daydreaming about a mmap'd hash table for a
couple years now -- and I wasn't even contemplating
having it able to be shared between processes, as it
appears you've done.
Your code appears nicely decoupled. It seems possible
if one were to write Windoze versions of lmc_lock.c and
lmc_shm.c , the rest of the code might just work on that
platform. (I may attempt this... someday...)
Anyway, thanks for releasing this interesting library!
I am happy to announce the next version of localmemcache (0.2.0), a
library that aims to provide an interface similar to memcached but for
accessing local data instead of remote data. It's based on mmap()'ed
shared memory for maximum speed.
This sounds great, can't wait to add it as a caching option to Ramaze.
Changes for 0.2.0:
* Localmemcache uses logging now: In case your application is
terminated while accessing the shared memory (eg by a kill -9),
localmemcache is now able to restore the integrity of your data.
* \0 character can now be used in keys and values
* The ruby binding now features a keys() method.
* Added a C API.
0.2.0 facts:
- lightweight: The core library is just about 1300 lines of C code
- fast: About 40% slower than Ruby's hash (or about 36 times
faster than a local memcached).
I am happy to announce the next version of localmemcache (0.2.0), a
library that aims to provide an interface similar to memcached but for
accessing local data instead of remote data. It's based on mmap()'ed
shared memory for maximum speed.
Very nice!!
Thanks!
Your code appears nicely decoupled. It seems possible
if one were to write Windoze versions of lmc_lock.c and
lmc_shm.c , the rest of the code might just work on that
platform. (I may attempt this... someday...)
Yeah, this should work.
-S.
···
On Tue, Mar 31, 2009 at 04:13:39PM +0900, Bill Kelly wrote:
Hmm... Can you see the namespace in /var/tmp/localmemcache/ ?
Can you see the key in $lm.keys()?
Does ``du -h /var/tmp/localmemcache/viewcounters.lmc'' show that there's
content in the file?
Best,
Sven
···
On Sun, Apr 05, 2009 at 01:36:09AM +0900, Michael Fellinger wrote:
Hmm... Can you see the namespace in /var/tmp/localmemcache/ ?
Can you see the key in $lm.keys()?
Does ``du -h /var/tmp/localmemcache/viewcounters.lmc'' show that there's
content in the file?
Ok, thanks to everyone who reported bugs!
I think I fixed this problem, so could anyone who had problems setting
keys run the following command to verify whether it works better now?
LocalMemCache
- should allow to set and query keys
- should support the and = operators
- should allow deletion of keys
- should return a list of keys
- should support \0 in values and keys
- should throw exception if pool is full
- should support checking of namespaces
- should support clearing of namespaces
LocalMemCache
- should allow to set and query keys
- should support the and = operators
- should allow deletion of keys
- should return a list of keys
- should support \0 in values and keys
- should throw exception if pool is full
- should support checking of namespaces
- should support clearing of namespaces
On Sun, Apr 5, 2009 at 3:09 PM, Sven C. Koehler <schween@snafu.de> wrote:
Ok, thanks to everyone who reported bugs!
I think I fixed this problem, so could anyone who had problems setting
keys run the following command to verify whether it works better now?
> LocalMemCache
> - should allow to set and query keys
> - should support the and = operators
> - should allow deletion of keys
> - should return a list of keys
> - should support \0 in values and keys
> - should throw exception if pool is full
> - should support checking of namespaces
> - should support clearing of namespaces
>
> 8 specifications (8 requirements), 0 failures, 0 errors
Aye, now it works as expected, thanks a lot. Will we get an updated release as
well?
···
On Sun, 5 Apr 2009 22:09:04 +0900 "Sven C. Koehler" <schween@snafu.de> wrote:
Ok, thanks to everyone who reported bugs!
I think I fixed this problem, so could anyone who had problems setting
keys run the following command to verify whether it works better now?
> LocalMemCache
> - should allow to set and query keys
> - should support the and = operators
> - should allow deletion of keys
> - should return a list of keys
> - should support \0 in values and keys
> - should throw exception if pool is full
> - should support checking of namespaces
> - should support clearing of namespaces
>
> 8 specifications (8 requirements), 0 failures, 0 errors