Type:
Class

SDBM provides a simple file-based key-value store, which can only store String keys and values.

Note that Ruby comes with the source code for SDBM, while the DBM and GDBM standard libraries rely on external libraries and headers.

Examples

Insert values:

require 'sdbm'

SDBM.open 'my_database' do |db|
  db['apple'] = 'fruit'
  db['pear'] = 'fruit'
  db['carrot'] = 'vegetable'
  db['tomato'] = 'vegetable'
end

Bulk update:

require 'sdbm'

SDBM.open 'my_database' do |db|
  db.update('peach' => 'fruit', 'tomato' => 'fruit')
end

Retrieve values:

require 'sdbm'

SDBM.open 'my_database' do |db|
  db.each do |key, value|
    puts "Key: #{key}, Value: #{value}"
  end
end

Outputs:

Key: apple, Value: fruit
Key: pear, Value: fruit
Key: carrot, Value: vegetable
Key: peach, Value: fruit
Key: tomato, Value: fruit
[]=
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm[key] = value â value Instance Public methods Stores a new value

2025-01-10 15:47:30
delete_if
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.delete_if { |key, value| ... } â self Instance Public methods Iterates

2025-01-10 15:47:30
has_value?
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.has_value?(key) â true or false Instance Public methods Returns true

2025-01-10 15:47:30
keys
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.keys â Array Instance Public methods Returns a new Array containing the

2025-01-10 15:47:30
key?
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.key?(key) â true or false Instance Public methods Returns true

2025-01-10 15:47:30
store
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.store(key, value) â value Instance Public methods Stores a new value

2025-01-10 15:47:30
replace
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.replace(pairs) â self Instance Public methods Empties the database, then

2025-01-10 15:47:30
shift
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.shift â Array or nil Instance Public methods Removes a key-value pair

2025-01-10 15:47:30
each_value
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.each_valuesdbm.each_value { |value| ... } Instance Public methods Iterates

2025-01-10 15:47:30
close
  • References/Ruby on Rails/Ruby/Classes/SDBM

sdbm.close â nil Instance Public methods Closes the database file.

2025-01-10 15:47:30