-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
66 lines (40 loc) · 1.59 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
SMemcached
==========
SMemcached is a port of Brad Fitzpatrick's "memcached" distributed memory
object caching system from C to Scala
SMemcached unlike memcached is optimized for varied cache sizes . Data of
varied sizes is more efficiently cached which translates to less memory
waste. Scalability and performance is offered by the JVM's garbage collector
and async IO via NIO.
Features
--------
SMemcached is:
- fast
It runs on the JVM so it can take advantage of the hard work people have
put into java performance.
- small
Currently about 800 lines of scala code, including comments, because it relies
on Apache Mina and Ehcache.
- memory efficient
Memcached's slab allocator stores data in fixed sized buckets for cpu optimization at the cost
of memory. This leads to excessive memory consumption when the data is varied in size. SMemcached
avoids this scenario by storing the data efficiently using the JVM's Ehcache/HashMap cache at the
cost of some CPU overhead.
SMemcached has:
- no limitations
Since SMemcached stores memory efficiently there is no point in having a 1MB cache store size limit.
- no external runtime dependencies
The JAR that is provided will run on any java 5 JVM as-is. Just deploy and run, all dependencies
are included in a single JAR file.
Use
---
SMemcached requires java 5 and ant 1.7.
Building from source is easy:
$ ant jar
Scala libraries and dependencies are included.
Running SMemcached is also simple:
$ java -jar target/smemcached.jar -h
Configuration
-------------
- TODO
Victor Igumnov <[email protected]>