Hooks for global state in memory and localstorage
Expo integration for stored memory values
An LRU cache of weak references
High Performance In-Memory Cache for Node.js
Chain functions, generators, Node streams, and Web streams into a pipeline with backpressure support.
Strip the final newline character from a string or Uint8Array
A cache object that deletes the least-recently-used items.
A simple key/value storage using files to persist the data
useMemo and useCallback but with a stable cache
Universal Storage Layer
A sorted list of key-value pairs in a fast, typed in-memory B+ tree with a powerful API.
Binary value packing and unpacking
RustCrypto: Argon2 binding for Node.js
Streaming http in the browser
Tomahawk plugin, implementing a Key Value Pair Store in Memory.
an operating-system utility library
In-memory state adapter for chat (development/testing)
CLI for compressing files.
Store information about any JS value in a side channel, using a linked list
Store information about any JS value in a side channel, using a Map
Store information about any JS value in a side channel. Uses WeakMap if available.
A WeakMap shim for Node.js and browsers
Tiny but powerful full-text search engine for browser and Node
No description provided.
A simple in memory key/value database using json that writes to file
Incredibly fast pure-ruby key-value store
xbad - shared memory key/value cache using shared memory and udp broadcasts for distribution
Easy installation, easy administration and simple to use is the focus of the SimpleVOC. It is a pure in-memory key/value store with a REST interface. Unlike other key/value stores the SimpleVOC provides a prefix search!
Oria (oh-rye-uh) is an in-memory, Ruby-based Key-Value store. It's designed to handle moderate amounts of data quickly and easily without causing deployment issues or server headaches. It uses EventMachine to provide a networked interface to a semi-persistent KVS and asynchronously writes the in-memory data to YAML files.
A primitive in-memory collection of key-value records known as "facts," with an ability to insert facts, add properties to facts, and delete facts. There is no ability to modify facts. It is also possible to find facts using Lisp-alike query predicates. An entire factbase may be exported to a binary file and imported back.
Kyoto Cabinet provided DBM interface to efficient key value stores both in-memory and on-disk. This gem wraps Kyoto Cabinet's C API using FFI (foregin function interface) to support MRI, JRuby, and Rubinius.
Feature flags for Rails with selectable backends. Use Subflag Cloud (SaaS), ActiveRecord (self-hosted), or Memory (testing). Get typed values (boolean, string, integer, double, object) with the same API regardless of backend.
Use Mysql AUTO_INCREMENT to support key value cache, which should be combined by an integer and string. It means to reduce the database storage size, and improve query performance. All cache will store in process memory, and will never be expired, until the process dies, so the less kvs you use, the better performance you will get. BTW, 100,000 general strings use 10MB memory. Some relatived articles: http://en.wikipedia.org/wiki/Correlation_database Usage ------------------------------------------ ## setup ```ruby create_table :kv_browser_names, :options => 'ENGINE=MyISAM DEFAULT CHARSET=utf8' do |t| t.string :name t.timestamps end class KvBrowserName < ActiveRecord::Base include IdNameCache end ``` or ```ruby create_table :common_tag, :options => 'ENGINE=MyISAM DEFAULT CHARSET=utf8' do |t| t.integer :tagid t.string :tagname end class CommonTag < ActiveRecord::Base self.table_name = :common_tag self.primary_key = :tagid include IdNameCache; set_key_value :tagid, :tagname # include IdNameCache; set_key_value_without_create :tagid, :tagname # if you dont want create it automately end ``` ### use cases ```text ruby-1.9.3-rc1 :001 > QuizTag[1] QuizTag Load (0.3ms) SELECT `common_tag`.* FROM `common_tag` WHERE `common_tag`.`tagid` = 1 LIMIT 1 => "Android" ruby-1.9.3-rc1 :002 > QuizTag[1] => "Android" ruby-1.9.3-rc1 :003 > QuizTag['Android'] QuizTag Load (0.5ms) SELECT `common_tag`.* FROM `common_tag` WHERE `common_tag`.`tagname` = 'Android' LIMIT 1 => 1 ruby-1.9.3-rc1 :004 > QuizTag['Android'] => 1 ``` == Copyright MIT, David Chen at eoe.cn
lithos is a self-contained embedded key-value store written from scratch as a native extension — no external database dependency. It uses a log-structured merge (LSM) tree: a write-ahead log makes every write durable, an in-memory sorted memtable flushes to immutable SSTables (with bloom filters), and compaction merges them. Keys and values are arbitrary binary strings; keys are kept in sorted order so you get ordered iteration and range scans, plus crash recovery via WAL replay. Windows MSVC (mswin) Ruby only.
==== Ruby Topic Maps (RTM) RTM is a Topic Maps engine written in Ruby. See http://rtm.topicmapslab.de/ for instructions. Several backends and extensions are available as separate gems. ==== Overview From a developer's perspective, RTM is a schema-less database management system. The Topic Maps standard (described below) on which RTM is based provides a way of creating a self-describing schema just by using it. ==== Quickstart require 'rtm' connection = RTM.connect # uses the default Ontopia in-memory backend topic_map = connection.create "http://example.org/my_topic_map/" some_topic = topicmap.get!("identifier_of_the_topic") some_topic["-"] = "default name for the topic" topic_map.to_xtm("my_xtm_file.xtm") ==== Topic Maps Topic Maps is an international industry standard (ISO13250) for interchangeably representing information about the structure of information resources used to define topics, and the relationships between topics. A set of one or more interrelated documents that employs the notation defined by this International Standard is called a topic map. A topic map defines a multidimensional topic space - a space in which the locations are topics, and in which the distances between topics are measurable in terms of the number of intervening topics which must be visited in order to get from one topic to another, and the kinds of relationships that define the path from one topic to another, if any, through the intervening topics, if any. In addition, information objects can have properties, as well as values for those properties, assigned to them. The Topic Maps Data Model which is used in this implementation can be found on http://www.isotopicmaps.org/sam/sam-model/. ==== Backends * rtm-ontopia: JRuby only, recommended, uses Ontopia: http://code.google.com/p/ontopia/ * rtm-tinytim: JRuby only, uses TinyTiM: http://tinytim.sourceforge.net/ * rtm-activerecord: uses a custom ActiveRecord schema ==== Extensions * rtm-tmql: Adds support for the Topic Maps Query Language (TMQL), http://isotopicmaps.org/tmql/ * rtm-tmcl: Adds support for the Topic Maps Constraint Language (TMCL), http://isotopicmaps.org/tmcl/ ==== License Copyright 2009 Topic Maps Lab, University of Leipzig. Apache License, Version 2.0
Contentful API wrapper library exposing an ActiveRecord-like interface
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.