VMware has ended active development of this project, this repository will no longer be updated.
This is a Go implementation of Redis designed for persistent memory. Only a limited subset of Redis commands are currently supported.
To use this package, you need new extensions to the Go language. These changes are maintained in a separate repository here.
-
Download and build Go compiler designed for persistent memory. Follow instructions here.
-
go get -v -u github.com/vmware-archive/go-redis-pmem/...
Make sure to use the Go binary built in step 1.
- To build and run the example application
$ cd example
$ go build app.go
$ ./app
Make sure to use the Go binary built in step 1.
This is a Go version of Redis designed for persistent memory. It uses the
functionalities provided by the go-pmem-transaction
library in its implementation.
This implementation of Redis only supports a limited set of Redis commands.
Please refer to redis/server.go
for the list of supported commands.
It is put out as an implementation example of the go-pmem-transaction
library.
By default the database file is created at the same path from which the application
is run. This location can be changed by modifying the DATABASE
string in
redis/server.go
. If the database file is not created in a persistent memory
device, then application performance will be really slow. If a persistent memory
device is not available, then it can be emulated using DRAM. See documentation
here.
The go-redis-pmem project team welcomes contributions from the community. Before you start working with go-redis-pmem, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to CONTRIBUTING.md.
go-redis-pmem is available under BSD-2 license.