1. Go to this page and download the library: Download canoma/canoma library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
canoma / canoma example snippets
// Create the manager
$manager = new \Canoma\Manager(
new \Canoma\HashAdapter\Md5,
30
);
// Register nodes, using unique strings.
$manager->addNode('cache-1.example.com:11211');
$manager->addNode('cache-2.example.com:11211');
$manager->addNode('cache-3.example.com:11211');
// Do a lookup for your cache-identifier and see what node we can use.
$node = $manager->getNodeForString('user:42:session');
// Connect to you cache backend and save the cache, using your favorite backends and libraries
// A Redis example (Using the excellent Predis library: https://github.com/nrk/predis)
// Storing
$client = new \Predis\Client("tcp://$node");
$client->set('user:42:session', $someSessionObject);
// Fetching
$client = new \Predis\Client("tcp://$node");
// Cache hit, restore or create a new session when we had a miss.
if ($sessionSLOB = $client->get('user:42:session')) {
$someSessionObject = SomeSessionObject::createFromSLOB($sessionSLOB);
} else {
$someSessionObject = new SomeSessionObject();
}
// Create a manager object via our factory. Setting the adapter, the replicate count and the nodes
$factory = new \Canoma\Factory;
$manager = $factory->createManager($yourConfiguration);
// Do a lookup for your cache-identifier and see what node we can use.
$node = $manager->getNodeForString('user:42:session');
// Connect to you cache backend and save the cache, using your favorite backends and libraries
// ..
// Create a manager object via our factory. Setting the adapter, the replicate count and the nodes
$factory = new \Canoma\Factory;
$manager = $factory->createManager($yourConfiguration);
// Test and remove slow or offline cache nodes. This is not something Canoma can do
// but something your back-end software (should) support(s)
$dirtyNodes = $someBackend->testForDirtyNodes($manager->getAllNodes());
foreach ($dirtyNodes as $node) {
$manager->removeNode($node);
}
// Do a lookup for your cache-identifier and see what node we can use.
$node = $manager->getNodeForString('user:42:session');
// ..
calculateReplicates.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.