General questions
What is KaTree?
KaTree is high-performance, tree based, distributed memory object caching system designed for using to speed up applications with big amount database queries.
Where can I get is KaTree?
Follow information on
download page
How can I install KaTree?
Generic install instructions are standard. KaTree requires
libevent to be installed first. This is most likely available via your distribution's package manager.
You can easily install KaTree from our sources. It's very simple. Just download sources from our
download page.
- $ tar -zxvf katree-1.x.x.tar.gz
- $ make
- $ make install
Where can I run KaTree?
KaTree was tested on Ubuntu and Debian distributions, but should also works on other. So if you have to sppe dup your application and spare the ram just install and run it.
Why might I want use KaTree?
If you have application with high traffic and there are much dynamically generated data in your application with high database load then KaTree can help to decrease a load of your database.
Of course you can use it in other situations as well. For example if your database load is not so high but you have high CPU load (processing different templates, complex objects, etc.) you can cache the results in KaTree and decrease CPU load.
Even if you don't need to spare something and you have enoght resources anyway you can use KaTree to render you pages with less latency for example.
Basically KaTree can be used everywhere.
Why should I not use KaTree?
- You have objects large then 1 Mb
- KaTree is not for big blob objects
- You have keys large then 255 chars
- Your's hosting provider let you not to run KaTree
- Your are running in insecure environment.
- Everybody can just telnet to KaTree and steal your private information.
- You want persistance or database
How do I access KaTree?
Typically just use KaTree protocol description. You can found it
here
Haw can I user KaTree as a database?
You can not. If you want persistance or database use for example MySQL.
Architekture questions
How does KaTree work?
KaTree is tree based cache system. First you should create some tree, then you can add nodes in this tree and at the end you can request data from this tree nodes or if you want whole tree or it's parts (branches). By accessing tree it's last access time will be increased. If you have more then one tree then on inserting some node KaTree needs more memory as you defined in command line parameters the oldest tree will be removed.
How is KaTree redundant?
It is not.
What ist the maximum key length?
256 bytes.
What is maximum data per item you can store?
1 Mb.
How can you dump data from or load data into KaTree?
This is not supported by KaTree because this is just cache system and Katree has not persistent data.
KaTree options
-h, --help - Prints help.
-p, --port - KaTree port. By default is 5678
-m, --memory - Maximal memory usage in megabytes. By default is 64 MB
-o, --logfile - Log file. By default /var/logs;
-l --loglevel - Log level file. (debug, info, warn, error, fatal). Default value error
--
DmitriGrigoriev - 25 Feb 2010