Delete
Jump to the Code block for a combined complete example.
Setup
The following examples will use the setup below to illustrate single record deletion in an Aerospike database.
import aerospike
# Define host configurationconfig = { 'hosts': [ ('127.0.0.1', 3000) ]}# Establishes a connection to the serverclient = aerospike.client(config).connect()
# Creates a key with the namespace "sandbox", set "ufodata", and user key 5001key = ('sandbox', 'ufodata', 5001)
Policies
Just as Create and Update, Delete utilizes write policies that can be defined per command.
The following example creates a write policy that enables durable deletes.
# Create a write policyremove_policy = {'durable_delete': True}
Delete a record
Default policy
Aerospike deletes a record efficiently by only dropping the primary index entry. The record space on device is recovered during garbage collection.
The following example shows how to delete a record using the default write policy.
# Delete record with default write policyclient.remove(key)
# Close the connection to the serverclient.close()
Durable deletes
When a command results in deletion of a record and the durable delete
write policy is set to true
, a tombstone record is written to disk to prevent previous versions of the record from returning during a cold restart.
Refer to Durable Deletes for more information.
The following example uses the write policy set above to durably delete a record.
# Durably delete a record with the write policyclient.remove(key, policy=remove_policy)
# Close the connection to the serverclient.close()
Code block
Expand this section for a single code block to durably delete a record
import aerospike
# Define host configurationconfig = { 'hosts': [ ('127.0.0.1', 3000) ]}# Establishes a connection to the serverclient = aerospike.client(config).connect()
# Creates a key with the namespace "sandbox", set "ufodata", and user key 5001key = ('sandbox', 'ufodata', 5001)
# Create a write policyremove_policy = {'durable_delete': True}
# Durably delete a record with the write policyclient.remove(key, policy=remove_policy)
# Close the connection to the serverclient.close()