kmemcache is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
kmemcache is derived from memcached-v1.4.15, exactly it is a linux kernel memcached, and aims at quicker response and higher performance.
kmemcache has now implemented all most major features of memcached, including the complete binary and text protocols, based on tcp, udp and unix domain communication protocols, slab allocation dynamically rebalanced, hash table expansion and so on.
The programming interface remains consistent with memcached. Clients using memcached can easily connected to kmemcache, without modification. You could also easily add the kmemcache server to your cluster of memcached servers.
The following are some features that have not been implemented yet:
x86_32/x86_64 kernel: [2.6.32, 3.2] other versions have not been tested
Building, Running & Testing
Clone kmemcache from github
3.1 Change user to root
[[email protected]]$ su root Password:
3.2 Insert kernel module and start server
[[email protected]]# insmod kmod/kmemcache.ko [[email protected]]# user/umemcached -h [[email protected]]# user/umemcached -p 11213
[[email protected]]# rmmod kmemcache
5.1 Case 1, using libmemcached
[[email protected]]# apt-get install libmemcached [[email protected]]# memcapable -h localhost -p 11213 [[email protected]]# memslap --servers=localhost:11213
5.2 Case 2, using testapp
[[email protected]]# insmod kmod/kmctest.ko [[email protected]]# ./test/testapp
5.3 Case 3, using perl scripts
[[email protected]]# ./t/auto.pl
5.4 More cases refer to memcached
Want to contribute? You are so welcome! Any reporting bugs, feedback, and pulling requests are encouraged!