Skip to content

Commit

Permalink
Updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Hoisie committed May 27, 2010
1 parent c6345e5 commit 48ceadb
Showing 1 changed file with 45 additions and 8 deletions.
53 changes: 45 additions & 8 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,57 @@ redis.go is a client for the [redis](http://github.com/antirez/redis) key-value

Some features include:

* simple usage
* connection pooling ( with configurable size )
* support for concurrent access
* re-opens timed out connections (and re-sends) commands
* Designed for Redis 1.3.x.
* Support for all redis types - strings, lists, sets, sorted sets, and hashes
* Very simple usage
* Connection pooling ( with configurable size )
* Support for concurrent access
* Manages connections to the redis server, including dropped and timed out connections
* Marshaling/Unmarshaling go types to hashes

This library was designed to be robust to concurrency conflicts. It lets you declare one redis client which can be shared amongst all goroutines.
This library is stable and is used in production environments. However, some commands have not been tested as thoroughly as others. If you find any bugs please file an issue!

## Example
## Examples

Most of the examples connect to a redis database running in the default port -- 6367.

### Instantiating the client

//connects to the default port (6379)
var client redis.Client
//connects to port 8379, database 13
var client2 redis.Client
client2.Addr = "127.0.0.1:8379"
client2.Db = 13

### Strings

//this assumes you have redis running locally on the standard port
var client redis.Client
client.Set("a", []byte("hello"))
val, _ := client.Get("a")
println(string(val))
client.Del("a")

### Lists

See the test file for more examples :)
var client redis.Client
vals := []string{"a", "b", "c", "d", "e"}
for _, v := range vals {
client.Rpush("l", []byte(v))
}
dbvals,_ := client.Lrange("l", 0, 4)
for i, v := range dbvals {
println(i,":",string(v))
}
client.Del("l")

More examples coming soon. See `redis_test.go` for more usage examples.

## Commands not supported yet

* MULTI/EXEC/DISCARD/WATCH/UNWATCH
* SUBSCRIBE/UNSUBSCRIBE/PUBLISH
* SORT
* ZUNIONSTORE / ZINTERSTORE

0 comments on commit 48ceadb

Please sign in to comment.