Permanently destroying data
Should you choose to destroy cached and persisted data, the flush_all operation is available at the SDK level.
Third-party client testing tools may perform a flush_all operation as part of their test scripts. Be aware of the scripts run by your testing tools and avoid triggering these test cases/operations unless you are certain they are being performed on your sample/test database.
Inadvertent use of flush_all on production databases, or other data stores you intend to use will result in permanent loss of data. Moreover the operation as applied to a large data store will take many hours to remove persisted documents.
This next example demonstrates how to perform a synchronous and asynchronous flush in Ruby:
#synchronous flush c.flush #=> true #asynchronous flush c.run do c.flush do |ret| ret.operation #=> :flush ret.success? #=> true ret.node #=> "localhost:11211" end end
In the case of asynchronous operations we use the event loop in Ruby. Within the loop we try to perform a flush .
When you perform a flush you provide the URI for one node in the cluster as a parameter and it will operate against all nodes in a cluster.