<commit_before># go-libkv
[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/jeffjen/go-libkv/master/LICENSE)
[![GoDoc](https://godoc.org/github.com/jeffjen/go-libkv?status.png)](https://godoc.org/github.com/jeffjen/go-libkv)
[![Build Status](https://travis-ci.org/jeffjen/go-libkv.svg?branch=master)](https://travis-ci.org/jeffjen/go-libkv)

An embedded framework for handling key value written in pure golang.

- Provides a straight forward interface for handling *volatile* key value storage
- Added flavor for time based resource management (EXPIRE, TTL)
- Broadcast key space event to subscribed goroutines.

## libkv

Embedded In memory **volatile** KV storage inspired by [REDIS](http://redis.io/).

Supported operations

- Set, Setexp
- Get
- Getset
- Getexp
- Expire
- TTL
- Del
- List, Listexp
- Watch

## timer

Schedule work to run at specific time.  It uses implementation in
[container/heap](http://golang.org/pkg/container/heap/) to setup min-heap on
the TTL of the scheduled item.<commit_msg>UPDATE: adding new function in the README list<commit_after># go-libkv
[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/jeffjen/go-libkv/master/LICENSE)
[![GoDoc](https://godoc.org/github.com/jeffjen/go-libkv?status.png)](https://godoc.org/github.com/jeffjen/go-libkv)
[![Build Status](https://travis-ci.org/jeffjen/go-libkv.svg?branch=master)](https://travis-ci.org/jeffjen/go-libkv)

An embedded framework for handling key value written in pure golang.

- Provides a straight forward interface for handling *volatile* key value storage
- Added flavor for time based resource management (EXPIRE, TTL)
- Broadcast key space event to subscribed goroutines.

## libkv

Embedded In memory **volatile** KV storage inspired by [REDIS](http://redis.io/).

Supported operations

- Set, Setexp
- Get
- Getset
- Getexp
- Expire
- TTL
- Del
- Lpush
- Ltrim
- Lrange
- List, Listexp
- Watch

## timer

Schedule work to run at specific time.  It uses implementation in
[container/heap](http://golang.org/pkg/container/heap/) to setup min-heap on
the TTL of the scheduled item.
{'fraction_non_alphanumeric': 0.13665743305632502, 'fraction_numerical': 0.0, 'mean_word_length': 4.377171215880893, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '693558', 'n_tokens_mistral': 737, 'n_tokens_neox': 718, 'n_words': 189}