lib/rufus/tokyo/cabinet/table.rb
def keys (options={})

      pre = options.fetch(:prefix, "")

      l = lib.tab_fwmkeys(
        @db, pre, Rufus::Tokyo.blen(pre), options[:limit] || -1)

      l = Rufus::Tokyo::List.new(l)

      options[:native] ? l : l.release
    end
def keys (options={})

      pre = options.fetch(:prefix, "")

      l = lib.tab_fwmkeys(
        @db, pre, Rufus::Tokyo.blen(pre), options[:limit] || -1)

      l = Rufus::Tokyo::List.new(l)

      options[:native] ? l : l.release
    end
Returns an array of all the primary keys in the table

 With no options given, this method will return all the keys (strings)
 in a Ruby array.

   :prefix --> returns only the keys who match a given string prefix

   :limit --> returns a limited number of keys

   :native --> returns an instance of Rufus::Tokyo::List instead of
     a Ruby Hash, you have to call #free on that List when done with it !
     Else you're exposing yourself to a memory leak.