protected function expireValue($key) { unset($this->cache[$key]); $cf = new ColumnFamily($this->cassandra, $this->config['column_family']); try { // __data key set as C* requires a field $cf->remove($key, array('__data')); } catch (\Exception $e) { return false; } return true; }
$sys->create_keyspace('Keyspace1', array("strategy_class" => StrategyClass::SIMPLE_STRATEGY, "strategy_options" => array('replication_factor' => '1'))); $sys->create_column_family('Keyspace1', 'Users'); // Start a connection pool, create our ColumnFamily instance $pool = new ConnectionPool('Keyspace1', array('127.0.0.1')); $users = new ColumnFamily($pool, 'Users'); // Insert a few records $users->insert('user0', array("name" => "joe", "state" => "TX")); $users->insert('user1', array("name" => "bob", "state" => "CA")); // Fetch a user record $user = $users->get('user0'); $name = $user["name"]; echo "Fetched user {$name}\n"; // Fetch both at once $both = $users->multiget(array('user0', 'user1')); foreach ($both as $user_id => $columns) { echo "{$user_id} state: " . $columns["state"] . "\n"; } // Only fetch the name of user1 $columns = $users->get('user1', $column_slice = null, $column_names = array("name")); echo "Name is " . $columns["name"] . "\n"; // Insert two more records at once $users->batch_insert(array("user3" => array("name" => "kat"), "user4" => array("name" => "tom"))); // Remove the last row $users->remove("user4"); // Clear out the column family $users->truncate(); // Destroy our schema $sys->drop_keyspace("Keyspace1"); // Close our connections $pool->close(); $sys->close();
public function test_get_indexed_slices() { $this->require_opp(); $indexed_cf = new ColumnFamily($this->pool, 'Indexed1'); $indexed_cf->truncate(); $columns = array('birthdate' => 1); foreach (range(1, 3) as $i) { $indexed_cf->insert('key' . $i, $columns); } $expr = new IndexExpression($column_name = 'birthdate', $value = 1); $clause = new IndexClause(array($expr), 10000); $result = $indexed_cf->get_indexed_slices($clause); $count = 0; foreach ($result as $key => $cols) { $count++; $this->assertEquals($columns, $cols); $this->assertEquals($key, "key{$count}"); } $this->assertEquals($count, 3); # Insert and remove a matching row at the beginning $indexed_cf->insert('key0', $columns); $indexed_cf->remove('key0'); # Insert and remove a matching row at the end $indexed_cf->insert('key4', $columns); $indexed_cf->remove('key4'); # Remove a matching row from the middle $indexed_cf->remove('key2'); $result = $indexed_cf->get_indexed_slices($clause); $count = 0; foreach ($result as $key => $cols) { $count++; $this->assertContains($key, array("key1", "key3")); } $this->assertEquals($count, 2); $indexed_cf->truncate(); $keys = array(); foreach (range(1, 1000) as $i) { $indexed_cf->insert("key{$i}", $columns); if ($i % 50 != 0) { $indexed_cf->remove("key{$i}"); } else { $keys[] = "key{$i}"; } } $count = 0; foreach ($result as $key => $cols) { $count++; $this->assertContains($key, $keys); unset($keys[$key]); } $this->assertEquals($count, 20); $indexed_cf->truncate(); }
/** * Remove an item from the cache. * * @param string $key * @return void */ public function forget($key) { $this->columnFamily->remove($this->prefix . $key); // removes whole row }
$key = $_GET['key']; } $super_column_key = null; if (isset($_GET['super_column_key'])) { $super_column_key = $_GET['super_column_key']; } try { $pool = new ConnectionPool($keyspace_name, $cluster_helper->getArrayOfNodesForCurrentCluster(), null, 5, 5000, 5000, 10000, $cluster_helper->getCredentialsForCurrentCluster()); $cf_def = ColumnFamilyHelper::getCFInKeyspace($keyspace_name, $columnfamily_name); $is_super_cf = $cf_def->column_type == 'Super'; if ($is_super_cf) { $column_family = new SuperColumnFamily($pool, $columnfamily_name); } else { $column_family = new ColumnFamily($pool, $columnfamily_name); } $column_family->remove($key, null, $super_column_key); redirect('columnfamily_action.php?action=browse_data&keyspace_name=' . $keyspace_name . '&columnfamily_name=' . $columnfamily_name); } catch (cassandra\NotFoundException $e) { $included_header = true; echo getHTML('header.php'); echo displayErrorMessage('columnfamily_doesnt_exists', array('column_name' => $columnfamily_name)); } catch (Exception $e) { $included_header = true; echo getHTML('header.php'); echo displayErrorMessage('something_wrong_happened', array('message' => $e->getMessage())); } } /* Modify counter */ if (isset($_POST['btn_modify_counter'])) {