npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

miray-server

v2.0.4

Published

MIRAY TCP Server - High-performance key-value store server

Readme

miray-server

MIRAY TCP Server - High-performance in-memory key-value store server with WAL and binary persistence.

Installation

Global Install (Recommended)

npm install -g miray-server

After installation, you can run:

miray-server

Local Install

npm install miray-server

Then run with:

npx miray-server

Usage

Start Server

# Default (localhost:7779)
miray-server

# Custom host and port
miray-server --host 0.0.0.0 --port 7779

# Short flags
miray-server -h 0.0.0.0 -p 7779

Options

  • --host, -h: Host address (default: 0.0.0.0)
  • --port, -p: Port number (default: 7779)

Features

  • ✨ High-performance TCP server
  • 🔒 WAL (Write-Ahead Log) for crash safety
  • 📦 Binary persistence with MessagePack
  • ⏱️ TTL support for keys
  • 🔄 Automatic checkpointing
  • 🧹 Automatic cleanup of expired keys
  • 📊 Built-in metrics and monitoring

Server Output

$ miray-server
[Storage] Initializing with WAL + Binary format...
[WAL] Initialized at ./data/miray.wal
[Storage] Ready with 0 keys
[Server] MIRAY listening on 0.0.0.0:7779

Configuration

The server uses configuration from miray-common package. Default settings:

{
  server: {
    host: '0.0.0.0',
    port: 7779,
  },
  storage: {
    walFile: './data/miray.wal',
    snapshotFile: './data/miray.snapshot',
    checkpointInterval: 30000,  // 30 seconds
    cleanupInterval: 1000,      // 1 second
  }
}

Data Files

The server creates the following files:

  • ./data/miray.wal - Write-ahead log
  • ./data/miray.snapshot - Binary snapshot

Graceful Shutdown

Press Ctrl+C to gracefully shutdown the server. It will:

  1. Stop accepting new connections
  2. Close existing connections
  3. Save checkpoint
  4. Close WAL file

Client Connections

Connect to the server using:

  • CLI: npm install -g miray-cli then run miray
  • Node.js SDK: npm install miray-client
  • TCP: Any TCP client on port 7779

Commands

Supported commands:

  • PING - Test connection
  • PUSH key value [ttl] - Store key-value
  • GET key - Retrieve value
  • REMOVE key - Delete key
  • KEYS pattern - List keys
  • TTL key - Get remaining TTL
  • FLUSH - Clear all data
  • INFO - Server statistics

Performance

Expected performance on typical hardware:

  • Connections: 10K-50K concurrent
  • Throughput: 100K-300K ops/sec
  • Latency: <1ms for reads, 1-5ms for writes

Related Packages

License

MIT