github.com/bhojpur/cache@v0.0.4/README.md (about)

     1  # Bhojpur Cache - Management Engine
     2  
     3  The Bhojpur Cache is a high-performance data caching platform applied within [Bhojpur.NET Platform](https://github.com/bhojpur/platform) for delivering web-scalable applications or services. It could utilize different kinds of data storage engines (e.g., in-memory, file-based) depending on the application's use cases.
     4  
     5  ## Key Features
     6  
     7  - Multi-modal Storage Engines
     8  - ACID transactions
     9  - Web Services APIs
    10  
    11  ## Getting Started
    12  
    13  To install [Bhojpur Cache](https://github.com/bhojpur/cache), use the `go get` command:
    14  
    15  ```sh
    16  $ go get github.com/bhojpur/cache/...
    17  ```
    18  
    19  ## Introspection Dashboard
    20  
    21  To debug the [Bhojpur Cache](https://github.com/bhojpur/cache), you can add an
    22  introspection handler to an HTTP mux and get bettervisibility into in-memory
    23  database storage engine's behaviour. For example
    24  
    25  ```sh
    26  $ go build -o bin/cachedbg ./internal/main.go
    27  ```
    28  
    29  ```go
    30  http.Handle("/introspect", http.StripPrefix("/introspect", debugger.NewHandler(mydb)))
    31  ```
    32  
    33  then, run the `bin/cachedbg` binary by passing in the path to your database:
    34  
    35  ```sh
    36  $ bin/cachedbg ./internal/path/to/my.db
    37  ```
    38  
    39  After pointing your web browser to `http://localhost:3000`, you should see something like this 
    40  ![Introspection Dashboard](/internal/debugger.png "Bhojpur Cache - In-Memory Database")
    41  
    42  It allows you to introspect [Bhojpur Cache](https://github.com/bhojpur/cache)
    43  database in a web browser. The `bin/cachedbg` tool gives you access to
    44  low-level page information and b-tree structures so you can better understand
    45  how [Bhojpur Cache](https://github.com/bhojpur/cache) is laying out your data.
    46  
    47  ## HTTP Integration
    48  
    49  You can also use boltd as an `http.Handler` in your own application. To use it,
    50  simply add the handler to your muxer:
    51  
    52  To generate a custom web template, you need the following tool
    53  
    54  ```sh
    55  $ go get github.com/benbjohnson/ego
    56  ```
    57  
    58  ## Distributed Applications
    59  
    60  - [Bhojpur CMS](https://github.com/bhojpur/cms) content management system
    61  - [Bhojpur Graph](https://github.com/bhojpur/graph) graph database system
    62  - [Bhojpur Keyed](https://github.com/bhojpur/keyed) state consensus system
    63  - [Bhojpur SQL](https://github.com/bhojpur/sql) relational database system  
    64  - [Bhojpur UFS](https://github.com/bhojpur/ufs) object storage system
    65  - [Bhojpur Web](https://github.com/bhojpur/web) server and RESTful APIs engine