Skip to content

rauleli/sqlk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

sqlk – Keyed List Handler over SQLite for Tcl

sqlk is a lightweight key-value store implemented in Tcl using SQLite, inspired by C-style keyed lists and TclX patterns. It allows concurrent access to structured memory via SQLite while preserving performance and minimizing memory usage.

✨ Features

  • Shared memory model between parent/child processes or threads using SQLite
  • Supports :memory: mode for fast in-RAM operations
  • Automatically serializes to file for persistent storage
  • Can be used as log/config manager
  • Originally created in 2008 and improved over time

πŸ”§ Usage

package require sqlk

sqlk::kinit mydb.sqlite -procname mainsqlk
mainsqlk varadd myvar myvar
myvar kset user.name "RaΓΊl"
myvar kset user.id 0001
puts [myvar kget user.name]

πŸ“ Persistence Modes

  • sqlk::init ":memory:" for fast temporary use
  • Provide a path to use disk-based SQLite storage

πŸ“œ License

MIT (or specify your preference)

πŸ™ Acknowledgements

Born out of real system needs for shared memory management.
Now shared to serve as a flexible tool for the Tcl community.

β˜• Support my work

If this project has been helpful to you or saved you some development time, consider buying me a coffee! Your support helps me keep exploring new optimizations and sharing quality code.

Buy Me A Coffee

About

keyed list on sqlite

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages