Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into make-spell
Browse files Browse the repository at this point in the history
  • Loading branch information
djanowski committed Jul 14, 2015
2 parents 3fb38eb + a0ea9c5 commit f2b3cca
Show file tree
Hide file tree
Showing 9 changed files with 400 additions and 347 deletions.
51 changes: 47 additions & 4 deletions clients.json
Expand Up @@ -395,7 +395,7 @@
{
"name": "RedisServer",
"language": "PHP",
"repository": "https://github.com/jamm/Memory/blob/master/lib/Jamm/Memory/RedisServer.php",
"repository": "https://github.com/e-oz/Memory/blob/master/lib/Jamm/Memory/RedisServer.php",
"description": "Standalone and full-featured class for Redis in PHP",
"authors": ["eugeniyoz"]
},
Expand All @@ -417,6 +417,14 @@
"authors": ["colinmollenhour"]
},

{
"name": "Kdyby/Redis",
"language": "PHP",
"repository": "https://github.com/kdyby/redis",
"description": "Powerfull Redis storage for Nette Framework",
"active": true
},

{
"name": "phpish/redis",
"language": "PHP",
Expand Down Expand Up @@ -504,6 +512,14 @@
"authors": ["rebolek"]
},

{
"name": "redisca2",
"language": "Python",
"repository": "https://github.com/khamin/redisca2",
"description": "Lightweight ORM for Redis",
"authors": ["vitaliykhamin"]
},

{
"name": "scala-redis",
"language": "Scala",
Expand Down Expand Up @@ -620,7 +636,7 @@

{
"name": "hxneko-redis",
"language": "haXe",
"language": "Haxe",
"url": "https://code.google.com/p/hxneko-redis/",
"repository": "https://code.google.com/p/hxneko-redis/source/browse",
"description": "",
Expand Down Expand Up @@ -665,7 +681,7 @@
{
"name": "node_redis",
"language": "Node.js",
"repository": "https://github.com/mranney/node_redis",
"repository": "https://github.com/NodeRedis/node_redis",
"description": "Recommended client for node.",
"authors": ["mranney"],
"recommended": true,
Expand Down Expand Up @@ -926,7 +942,7 @@
{
"name": "redis",
"language": "Nim",
"repository": "https://github.com/Araq/Nim",
"repository": "https://github.com/nim-lang/Nim/blob/devel/lib/pure/redis.nim",
"url": "http://nim-lang.org/docs/redis.html",
"description": "Redis client for Nim",
"authors": [],
Expand Down Expand Up @@ -967,6 +983,7 @@
"description": "Thread-safe async Redis client. Offers high performance and simple api",
"authors": ["bn_andrew"]
},

{
"name": "redis",
"language": "Dart",
Expand All @@ -990,5 +1007,31 @@
"description": "A lightweight wrapper around the C client hiredis.",
"authors": ["matt_howlett"],
"active": true
},

{
"name": "finagle-redis",
"language": "Scala",
"repository": "https://github.com/twitter/finagle/tree/develop/finagle-redis",
"description": "Redis client based on Finagle"
},

{
"name": "rredis",
"language": "R",
"repository": "https://github.com/bwlewis/rredis",
"url": "http://cran.r-project.org/package=rredis",
"description": "Redis client for R",
"authors": ["bwlewis"],
"active": true
},

{
"name": "Redis-AS3",
"language": "ActionScript",
"repository": "https://github.com/mikeheier/Redis-AS3",
"description": "An as3 client library for redis.",
"authors": []
}

]
12 changes: 11 additions & 1 deletion commands/exists.md
@@ -1,16 +1,26 @@
Returns if `key` exists.

Since Redis 3.0.3 it is possible to specify multiple keys instead of a single one. In such a case, it returns the total number of keys existing. Note that returning 1 or 0 for a single key is just a special case of the variadic usage, so the command is completely backward compatible.

The user should be aware that if the same existing key is mentioned in the arguments multiple times, it will be counted multiple times. So if `somekey` exists, `EXISTS somekey somekey` will return 2.

@return

@integer-reply, specifically:

* `1` if the key exists.
* `0` if the key does not exist.

Since Redis 3.0.3 the command accepts a variable number of keys and the return value is generalized:

* The number of keys existing among the ones specified as arguments. Keys mentioned multiple times and existing are counted multiple times.

@examples

```cli
SET key1 "Hello"
EXISTS key1
EXISTS key2
EXISTS nosuchkey
SET key2 "World"
EXISTS key1 key2 nosuchkey
```
2 changes: 2 additions & 0 deletions commands/keys.md
Expand Up @@ -21,6 +21,8 @@ Supported glob-style patterns:
* `h?llo` matches `hello`, `hallo` and `hxllo`
* `h*llo` matches `hllo` and `heeeello`
* `h[ae]llo` matches `hello` and `hallo,` but not `hillo`
* `h[^e]llo` matches `hallo`, `hbllo`, ... but not `hello`
* `h[a-b]llo` matches `hallo` and `hbllo`

Use `\` to escape special characters if you want to match them verbatim.

Expand Down
610 changes: 304 additions & 306 deletions topics/cluster-spec.md

Large diffs are not rendered by default.

64 changes: 32 additions & 32 deletions topics/distlock.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion topics/mass-insert.md
Expand Up @@ -41,7 +41,7 @@ as fast as possible. In the past the way to do this was to use the

However this is not a very reliable way to perform mass import because netcat
does not really know when all the data was transferred and can't check for
errors. In the unstable branch of Redis at GitHub the `redis-cli` utility
errors. In 2.6 or later versions of Redis the `redis-cli` utility
supports a new mode called **pipe mode** that was designed in order to perform
mass insertion.

Expand Down
2 changes: 1 addition & 1 deletion topics/partitioning.md
Expand Up @@ -107,7 +107,7 @@ Twemproxy supports automatic partitioning among multiple Redis instances, with o

It is *not* a single point of failure since you can start multiple proxies and instruct your clients to connect to the first that accepts the connection.

Basically Twemproxy is an intermediate layer between clients and Redis instances, that will reliably handle partitioning for us with minimal additional complexities. Currently it is the **suggested way to handle partitioning with Redis**.
Basically Twemproxy is an intermediate layer between clients and Redis instances, that will reliably handle partitioning for us with minimal additional complexities.

You can read more about Twemproxy [in this antirez blog post](http://antirez.com/news/44).

Expand Down
2 changes: 1 addition & 1 deletion topics/sentinel.md
Expand Up @@ -1073,7 +1073,7 @@ replication and the discarding nature of the "virtual" merge function of the sys
1. Use synchronous replication (and a proper consensus algorithm to run a replicated state machine).
2. Use an eventually consistent system where different versions of the same object can be merged.

Redis currently is not able to use any of the above systems, and is currently outside the development goals. However there are proxies implementing solution "2" on top of Redis stores such as SoundClound [Roshi](https://github.com/soundcloud/roshi), or Netflix [Dynomite](https://github.com/Netflix/dynomite).
Redis currently is not able to use any of the above systems, and is currently outside the development goals. However there are proxies implementing solution "2" on top of Redis stores such as SoundCloud [Roshi](https://github.com/soundcloud/roshi), or Netflix [Dynomite](https://github.com/Netflix/dynomite).

Sentinel persistent state
---
Expand Down
2 changes: 1 addition & 1 deletion wordlist
Expand Up @@ -115,7 +115,7 @@ SSL
Sanfilippo
SmartOS
Solaris
SoundClound
SoundCloud
SystemTimer
TCP
TLB
Expand Down

0 comments on commit f2b3cca

Please sign in to comment.