Skip to content

Commit

Permalink
name change to radish
Browse files Browse the repository at this point in the history
  • Loading branch information
Dhravya committed Mar 27, 2024
1 parent d78c9a9 commit cfa3c75
Show file tree
Hide file tree
Showing 12 changed files with 41 additions and 40 deletions.
56 changes: 28 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<div align="center">
<!-- logo -->
<img src = "assets/icon.png" width="300">
<h1 align="center">Go-Redis</h1>
<h1 align="center">Radish</h1>
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /><br>
Super fast drop-in replacement of the in memory key-value store redis in golang
</div>
Expand All @@ -11,7 +11,7 @@ Super fast drop-in replacement of the in memory key-value store redis in golang
[Try it out instantly](#installation)

## 👀 What is this? Why?
`go-redis` is a super fast drop-in replacement of the in memory key-value store redis, built with golang.
`Radish` is a super fast drop-in replacement of the in memory key-value store redis, built with golang.

Why?
Redis recently (Last week, as of Mar 25 2024) changed their license to a [dual 'source-available' license](https://news.ycombinator.com/item?id=39772562) - which means that it can't be used for commercial purposes without paying for a license. Everyone hated it. This is a problem for many companies and developers who use redis in their projects.
Expand All @@ -28,25 +28,25 @@ Annddd all i ask in return is a little ⭐ so that i dont have to rely on twitte

## 📜 Features

| Feature | Redis | Go-Redis |
| ------------------------- | ----- | -------- |
| In-memory key-value store || |
| Strings || |
| Lists || |
| Sets || |
| Sorted sets || |
| Hashes || |
| Streams || |
| HyperLogLogs || |
| Bitmaps || |
| Persistence || |
| Pub/Sub || |
| Transactions || |
| Lua scripting || |
| LRU eviction || |
| TTL || 😅 |
| Clustering || |
| Auth || |
| Feature | Redis | Radish |
| ------------------------- | ----- | ------ |
| In-memory key-value store |||
| Strings |||
| Lists |||
| Sets |||
| Sorted sets |||
| Hashes |||
| Streams |||
| HyperLogLogs |||
| Bitmaps |||
| Persistence |||
| Pub/Sub |||
| Transactions |||
| Lua scripting |||
| LRU eviction |||
| TTL || 😅 |
| Clustering |||
| Auth |||

### Available commands

Expand Down Expand Up @@ -85,24 +85,24 @@ For now, these commands are available (more to come)
To get it up and running instantly, you can use the docker image

```
docker run -d -p 6379:6379 dhravyashah/go-redis
docker run -d -p 6379:6379 dhravyashah/radish
```

### Using `go`

```
go get github.com/dhrvyashah/go-redis
go install github.com/dhrvyashah/radish@latest
```

and then just build and run the binary


### Using the binary

Download the binary executables from `./bin/go-redis`.
Download the binary executables from `./bin/radish`.

Click here to get it [instantly](
https://github.com/dhrvyashah/go-redis/releases/download/v0.1.0/go-redis-0.1.0-linux-amd64.tar.gz).
https://github.com/dhrvyashah/radish/releases/download/v0.1.0/radish-0.1.0-linux-amd64.tar.gz).


## Having fun
Expand All @@ -129,12 +129,12 @@ bar
```

## Contributing
Go-redis is *completely* open source. If you want to contribute, please create an issue on the repo and I will assign the task to someone (or you).
radish is *completely* open source. If you want to contribute, please create an issue on the repo and I will assign the task to someone (or you).

Steps to contribute:
1. Clone the repo
```
git clone https://github.com/dhravya/go-redis
git clone https://github.com/dhravya/radish
```

2. Create a new branch
Expand All @@ -153,4 +153,4 @@ You can also join our [Discord server](https://discord.gg/z7MZYhmx6w) where we h

## License

Unlike redis, go-redis is licensed under the MIT license. You can use it for commercial purposes without any restrictions. Go wild!
Unlike redis, radish is licensed under the MIT license. You can use it for commercial purposes without any restrictions. Go wild!
Binary file removed Waitlist Next.zip
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module github.com/dhravya/go-redis
module github.com/dhravya/radish

go 1.21
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github.com/secmask/go-redisproto v0.1.0 h1:hOMwrBCipUSpK+f3RG/MxTcGFEOO6Oig5ZXOAewn9M4=
github.com/secmask/go-redisproto v0.1.0/go.mod h1:jdj5Hw1t1c0xGmYOf3Rv4sM/nhbIP3RypZ29jGZjZ5A=
github.com/secmask/radishproto v0.1.0 h1:hOMwrBCipUSpK+f3RG/MxTcGFEOO6Oig5ZXOAewn9M4=
github.com/secmask/radishproto v0.1.0/go.mod h1:jdj5Hw1t1c0xGmYOf3Rv4sM/nhbIP3RypZ29jGZjZ5A=
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"sync"
"time"

"github.com/dhravya/go-redis/redisproto"
"github.com/dhravya/radish/redisproto"
)

type DataType int
Expand Down
10 changes: 5 additions & 5 deletions redisproto/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Introduction

## This is a fork of [go-redisproto](https://github.com/secmask/go-redisproto) to make it work with go-redis server.
## This is a fork of [radishproto](https://github.com/secmask/radishproto) to make it work with radish server.

go-redisproto is a go library to create server, service for RPC that compatible with redis protocol
radishproto is a go library to create server, service for RPC that compatible with redis protocol
I use it for some projects that require RPC, redis-protocol is a good choice because it can be parsed fast and
we have many client libraries that already exist to use. go-redisproto use it's own buffered reader to avoid memory copy.
we have many client libraries that already exist to use. radishproto use it's own buffered reader to avoid memory copy.

Some other tool that use `go-redisproto`
Some other tool that use `radishproto`

1. https://github.com/secmask/mqueue
2. https://github.com/secmask/roller

# License
go-redisproto is available under The MIT License (MIT).
radishproto is available under The MIT License (MIT).
3 changes: 2 additions & 1 deletion redisproto/cmd/roller/fmttest.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ package main
import (
"bufio"
"bytes"
"github.com/dhravya/go-redis/redisproto"
"log"

"github.com/dhravya/radish/redisproto"
)

func main() {
Expand Down
2 changes: 1 addition & 1 deletion redisproto/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ func (w *Writer) WriteBulks(bulks ...[]byte) error {

// WriteObjectsSlice works like WriteObjects, it useful when args is a slice that can be nil,
// in that case WriteObjects(nil) will understand as response 1 element array (nil element)
// see https://github.com/secmask/go-redisproto/issues/4 for details.
// see https://github.com/secmask/radishproto/issues/4 for details.
func (w *Writer) WriteObjectsSlice(args []interface{}) error {
return w.WriteObjects(args...)
}
Expand Down
2 changes: 1 addition & 1 deletion transactions.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"fmt"
"strings"

"github.com/dhravya/go-redis/redisproto"
"github.com/dhravya/radish/redisproto"
)

type Transaction struct {
Expand Down

0 comments on commit cfa3c75

Please sign in to comment.