mirror of
https://github.com/fluencelabs/redis
synced 2025-06-25 23:11:33 +00:00
client-libraries
design-documents
doc
AppendCommand.html
AppendOnlyFileHowto.html
AuthCommand.html
Benchmarks.html
BgrewriteaofCommand.html
BgsaveCommand.html
BlpopCommand.html
CommandReference.html
Comparisons.html
ConfigCommand.html
Configuration.html
ConnectionHandlingSidebar.html
ControlCommandsSidebar.html
Credits.html
DbsizeCommand.html
DelCommand.html
DesignPatterns.html
EventLibray.html
ExistsCommand.html
ExpireCommand.html
FAQ.html
Features.html
FlushallCommand.html
FlushdbCommand.html
FromSqlToDataStructures.html
GenericCommandsSidebar.html
GetCommand.html
GetsetCommand.html
HackingStrings.html
HashCommandsSidebar.html
Hashes.html
HdelCommand.html
HexistsCommand.html
HgetCommand.html
HgetallCommand.html
HincrbyCommand.html
HlenCommand.html
HmsetCommand.html
HsetCommand.html
HsetnxCommand.html
IncrCommand.html
InfoCommand.html
IntroductionToRedisDataTypes.html
KeysCommand.html
LastsaveCommand.html
LindexCommand.html
ListCommandsSidebar.html
Lists.html
LlenCommand.html
LpopCommand.html
LrangeCommand.html
LremCommand.html
LsetCommand.html
LtrimCommand.html
MgetCommand.html
MonitorCommand.html
MoveCommand.html
MsetCommand.html
MultiExecCommand.html
ObjectHashMappers.html
Pipelining.html
ProgrammingExamples.html
ProtocolSpecification.html
PublishSubscribe.html
QuickStart.html
QuitCommand.html
README.html
RandomkeyCommand.html
Redis0100ChangeLog.html
Redis0900ChangeLog.html
RedisBigData.html
RedisEventLibrary.html
RedisGuides.html
RedisInternals.html
Redis_1_2_0_Changelog.html
RenameCommand.html
RenamenxCommand.html
ReplicationHowto.html
ReplyTypes.html
RoadMap.html
RpoplpushCommand.html
RpushCommand.html
SaddCommand.html
SaveCommand.html
ScardCommand.html
SdiffCommand.html
SdiffstoreCommand.html
SelectCommand.html
SetCommand.html
SetCommandsSidebar.html
SetexCommand.html
SetnxCommand.html
Sets.html
ShutdownCommand.html
SideBar.html
SinterCommand.html
SinterstoreCommand.html
SismemberCommand.html
SlaveofCommand.html
SmembersCommand.html
SmoveCommand.html
SortCommand.html
SortedSetCommandsSidebar.html
SortedSets.html
Speed.html
SponsorshipHistory.html
SpopCommand.html
SrandmemberCommand.html
SremCommand.html
StringCommandsSidebar.html
Strings.html
SubstrCommand.html
SunionCommand.html
SunionstoreCommand.html
SupportedLanguages.html
SupportedPlatforms.html
TemplateCommand.html
TtlCommand.html
TwitterAlikeExample.html
TypeCommand.html
UnstableSource.html
VirtualMemorySpecification.html
VirtualMemoryUserGuide.html
ZaddCommand.html
ZcardCommand.html
ZincrbyCommand.html
ZrangeCommand.html
ZrangebyscoreCommand.html
ZrankCommand.html
ZremCommand.html
ZremrangebyrankCommand.html
ZremrangebyscoreCommand.html
ZscoreCommand.html
ZunionCommand.html
ZunionstoreCommand.html
index.html
redis.png
style.css
src
tests
utils
.gitignore
BETATESTING.txt
BUGS
COPYING
Changelog
README
TODO
redis.conf
60 lines
24 KiB
HTML
60 lines
24 KiB
HTML
![]() |
|
||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<link type="text/css" rel="stylesheet" href="style.css" />
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="page">
|
||
|
|
||
|
<div id='header'>
|
||
|
<a href="index.html">
|
||
|
<img style="border:none" alt="Redis Documentation" src="redis.png">
|
||
|
</a>
|
||
|
</div>
|
||
|
|
||
|
<div id="pagecontent">
|
||
|
<div class="index">
|
||
|
<!-- This is a (PRE) block. Make sure it's left aligned or your toc title will be off. -->
|
||
|
<b>SupportedLanguages: Contents</b><br> <a href="#Supported Languages (DRAFT)">Supported Languages (DRAFT)</a><br> <a href="#TODO">TODO</a><br> <a href="#Features Support Matrix">Features Support Matrix</a><br> <a href="#Version 1.1">Version 1.1</a><br> <a href="#Version 1.0">Version 1.0</a><br> <a href="#Client Libraries Reference">Client Libraries Reference</a><br> <a href="#as3 (ActionScript 3)">as3 (ActionScript 3)</a><br> <a href="#redis-clojure (Clojure)">redis-clojure (Clojure)</a><br> <a href="#CL-Redis (Common Lisp)">CL-Redis (Common Lisp)</a><br> <a href="#erldis (Erlang)">erldis (Erlang)</a><br> <a href="#Go-Redis (Go)">Go-Redis (Go)</a><br> <a href="#haskell-redis (Haskell)">haskell-redis (Haskell)</a><br> <a href="#Java">Java</a><br> <a href="#redis-lua (Lua)">redis-lua (Lua)</a><br> <a href="#Perl">Perl</a><br> <a href="#PHP">PHP</a><br> <a href="#Python">Python</a><br> <a href="#txredis">txredis</a><br> <a href="#redis-rb (Ruby)">redis-rb (Ruby)</a><br> <a href="#scala-redis (Scala)">scala-redis (Scala)</a><br> <a href="#Tcl">Tcl</a>
|
||
|
</div>
|
||
|
|
||
|
<h1 class="wikiname">SupportedLanguages</h1>
|
||
|
|
||
|
<div class="summary">
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="narrow">
|
||
|
<h1><a name="Supported Languages (DRAFT)">Supported Languages (DRAFT)</a></h1>Wondering if you can use Redis from your favorite language? Well here is the definitive guide to the available client libraries.<br/><br/>This libraries are intended to expose Redis commands, but you also have the option to use some higher level libraries that provide a <b><a href="ObjectHashMappers.html">Object Hash Mappings</a></b> pretty much the same idea implemented by a classic <b>ORM</b>.<h2><a name="TODO">TODO</a></h2><ul><li> Add <a href="http://github.com/madsimian/em-redis" target="_blank">http://github.com/madsimian/em-redis</a></li><li> Add <a href="http://github.com/besquared/redis-datastructures" target="_blank">http://github.com/besquared/redis-datastructures</a></li><li> Add <a href="http://github.com/sma/redis-node-client" target="_blank">http://github.com/sma/redis-node-client</a></li></ul>
|
||
|
<h2><a name="Features Support Matrix">Features Support Matrix</a></h2> <br/><br/>The following matrix should give you a quick overviwe of the state of the different client libraries existing for each supported language.<br/><br/>The core command set is the one of Version 1.0, while <a href="Sharding.html">Sharding</a> and <a href="Pipelining.html">Pipelining</a> are convenient client side features not tied to any Redis server version.<h3><a name="Version 1.1">Version 1.1</a></h3>Compatible client libraries are expected to implement the command sets specified in <b>Version 1.0</b> plus:<br/><br/><ul><li> <b>String</b>: MSET, MSETNX.</li><li> <b>List</b>: RPOPLPUSH.</li><li> <b>Sorted Set (ZSET)</b>: ZADD, ZREM, ZRANGE, ZREVRANGE, ZRANGEBYSCORE, ZCARD, ZSCORE.</li></ul>
|
||
|
<h3><a name="Version 1.0">Version 1.0</a></h3> <br/><br/>Compatible client libraries are expected to implement the following command sets:<br/><br/><ul><li> <b>String</b>: GET, SET, SETNX, DEL, EXISTS, INCR, DECR, MGET, INCRBY, DECRBY, GETSET, TYPE.</li><li> <b>List</b>: RPUSH, LPUSH, RPOP, LPOP, LLEN, LINDEX, LSET, LRANGE, LTRIM, LREM.</li><li> <b>Set</b>: SADD, SREM, SMOVE, SISMEMBER, SCARD, SPOP, SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SMEMBERS.</li><li> <b>Keyspace</b>: KEYS, RANDOMKEY, RENAME, RENAMENX, DBSIZE, EXPIRE, TTL.</li><li> <b>Databases</b>: SELECT, MOVE, FLUSHDB, FLUSHALL.</li><li> <b>Sort</b>: SORT</li><li> <b>Connection</b>: AUTH, QUIT?. ???</li><li> <b>Persistence</b>: SAVE, BGSAVE, LASTSAVE, SHUTDOWN?. ???</li><li> <b>Server</b>: INFO, MONITOR? SLAVEOF? ???</li></ul><blockquote></blockquote><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Language</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Name</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Sharding</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Pipelining</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>1.1</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>1.0</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> ActionScript 3</td><td style="border: 1px solid #aaa; padding: 5px;"> as3redis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Clojure </td><td style="border: 1px solid #aaa; padding: 5px;"> redis-clojure </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Partial </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Common Lisp </td><td style="border: 1px solid #aaa; padding: 5px;"> CL-Redis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Erlang </td><td style="border: 1px solid #aaa; padding: 5px;"> erldis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Looks like </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Looks like </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Go </td><td style="border: 1px solid #aaa; padding: 5px;"> Go-Redis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Haskell </td><td style="border: 1px solid #aaa; padding: 5px;"> haskell-redis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padding: 5px;"> Yes </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> Java </td><td style="border: 1px solid #aaa; padding: 5px;"> JDBC-Redis </td><td style="border: 1px solid #aaa; padding: 5px;"> No </td><td style="border: 1px solid #aaa; padd
|
||
|
<h2><a name="Client Libraries Reference">Client Libraries Reference</a></h2><h3><a name="as3 (ActionScript 3)">as3 (ActionScript 3)</a></h3><ul><li> An ActionScript 3 (Flash) library for Redis.</li><li> Repository: <a href="http://github.com/claus/as3redis" target="_blank">http://github.com/claus/as3redis</a></li><li> Author: Claus Wahlers, <a href="http://twitter.com/cwahlers" target="_blank"> @cwahlers</a>.</li></ul>
|
||
|
<h3><a name="redis-clojure (Clojure)">redis-clojure (Clojure)</a></h3><ul><li> A Clojure client library for the key-value storage system Redis.</li><li> Repository: <a href="http://github.com/ragnard/redis-clojure" target="_blank">http://github.com/ragnard/redis-clojure</a></li><li> Author: Ragnar Dahlén, <a href="http://twitter.com/ragge" target="_blank">@ragge</a>.</li></ul>
|
||
|
<h3><a name="CL-Redis (Common Lisp)">CL-Redis (Common Lisp)</a></h3><ul><li> Common Lisp client library for Redis, an advanced key/value store.</li><li> Home Page: <a href="http://www.cliki.net/cl-redis" target="_blank">http://www.cliki.net/cl-redis</a></li><li> Author: Mahmud, <a href="http://twitter.com/BigThingist" target="_blank">@BigThingist</a>.</li></ul>
|
||
|
<h3><a name="erldis (Erlang)">erldis (Erlang)</a></h3><ul><li> Client protocol for redis key-value store.</li><li> Author: <a href="http://www.adroll.com/" target="_blank">Valentino Volonghi</a>, <a href="http://twitter.com/dialtone_" target="_blank">@dialtone_</a>.</li><li> Repository: <a href="http://bitbucket.org/adroll/erldis/" target="_blank">http://bitbucket.org/adroll/erldis/</a></li></ul>
|
||
|
<h3><a name="Go-Redis (Go)">Go-Redis (Go)</a></h3><ul><li> Client protocol for redis key-value store.</li><li> Author: Joubin Houshyar, <a href="http://twitter.com/SunOf27" target="_blank">@SunOf27</a>.</li><li> Repository: <a href="http://github.com/alphazero/Go-Redis" target="_blank">http://github.com/alphazero/Go-Redis</a></li></ul>
|
||
|
<h3><a name="haskell-redis (Haskell)">haskell-redis (Haskell)</a></h3><ul><li> A Haskell binding for the Redis database.</li><li> Author: <a href="http://obvioushints.blogspot.com/" target="_blank">Alvaro Videla</a>, <a href="http://twitter.com/old_sound" target="_blank">@old_sound</a>.</li><li> Repository: <a href="http://bitbucket.org/videlalvaro/redis-haskell/wiki/Home" target="_blank"> </a></li></ul>
|
||
|
<h3><a name="Java">Java</a></h3><h4><a name="JDBC-Redis">JDBC-Redis</a></h4><ul><li> JDBC-Redis is Java driver using the JDBC interface for Redis Database. This project doesn't aim for a complete implementation of the JDBC specification since Redis isn't a relational database, but should provide a familiar interface to Java developers interact with Redis.</li><li> Repository: <a href="http://code.google.com/p/jdbc-redis/" target="_blank">http://code.google.com/p/jdbc-redis/</a></li></ul>
|
||
|
<h4><a name="JRedis">JRedis</a></h4><ul><li> Java Client and Connectors for Redis JCA compliant. Currently offers a complete functioning Synchronous connector, Asynchronous connection and pipelining support under heavy develpment.</li><li> Author: Joubin Houshyar, <a href="http://twitter.com/SunOf27" target="_blank">@SunOf27</a>.</li><li> Home: <a href="http://code.google.com/p/jredis/" target="_blank">http://code.google.com/p/jredis/</a></li><li> Repository: <a href="http://github.com/alphazero/jredis" target="_blank">http://github.com/alphazero/jredis</a></li></ul>
|
||
|
<h3><a name="redis-lua (Lua)">redis-lua (Lua)</a></h3><ul><li> A Lua client library for the redis key value storage system.</li><li> Author: <a href="http://www.clorophilla.net/blog/" target="_blank">Daniele Alessandri</a>, <a href="http://twitter.com/jol1hahn" target="_blank">@jol1hahn</a>.</li><li> Repository: <a href="http://github.com/nrk/redis-lua" target="_blank">http://github.com/nrk/redis-lua</a></li></ul>
|
||
|
<h3><a name="Perl">Perl</a></h3><h4><a name="Perl Client">Perl Client</a></h4><ul><li> Perl binding for Redis database.</li><li> Author: <a href="http://blog.rot13.org/" target="_blank">Dobrica Pavlinusic</a>, <a href="http://twitter.com/dpavlin" target="_blank">@dpavlin</a>.</li><li> Repository: <a href="http://svn.rot13.org/index.cgi/Redis" target="_blank">http://svn.rot13.org/index.cgi/Redis</a></li></ul>
|
||
|
<h4><a name="AnyEvent::Redis">AnyEvent::Redis</a></h4><ul><li> Non-blocking Redis client.</li><li> Author: <a href="http://bulknews.typepad.com/" target="_blank">Tatsuhiko Miyagawa</a>, <a href="http://twitter.com/miyagawa" target="_blank">@miyagawa</a>.</li><li> Repository: <a href="http://github.com/miyagawa/AnyEvent-Redis/" target="_blank">http://github.com/miyagawa/AnyEvent-Redis/</a></li></ul>
|
||
|
<h3><a name="PHP">PHP</a></h3><h4><a name="Redis PHP Bindings">Redis PHP Bindings</a></h4><ul><li> Simple default binding in Redis main repository. No longer under active development.</li><li> Author: <a href="http://qix.it/" target="_blank">Ludovico Magnocavallo</a>, <a href="http://twitter.com/ludo" target="_blank">@ludo</a>.</li><li> Repository: <a href="http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/php" target="_blank">http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/php</a></li></ul>
|
||
|
<h4><a name="phpredis">phpredis</a></h4><ul><li> This extension provides an API for communicating with Redis database, a persistent key-value database with built-in net interface written in ANSI-C for Posix systems.</li><li> Author: <a href="http://www.alfonsojimenez.com/" target="_blank">Alfonso Jimenez</a> , (<a href="http://twitter.com/alfonsojimenez" target="_blank">@alfonsojimenez</a>), Nicolas Favre-Félix and Nasreddine Bouafif.</li><li> Repository: <a href="http://github.com/owlient/phpredis" target="_blank">http://github.com/owlient/phpredis</a></li></ul>
|
||
|
<h4><a name="Predis">Predis</a></h4><ul><li> A flexible and feature-complete PHP client library for the Redis key-value database. Predis is currently a work-in-progress and it targets PHP >= 5.3, though it is highly due to be backported to PHP >= 5.2.6 as soon as the public API and the internal design on the main branch will be considered stable enough.</li><li> Author: <a href="http://www.clorophilla.net/blog/" target="_blank">Daniele Alessandri</a>, <a href="http://twitter.com/jol1hahn" target="_blank">@jol1hahn</a></li><li> Repository: <a href="http://github.com/nrk/predis/" target="_blank">http://github.com/nrk/predis/</a></li></ul>
|
||
|
<h4><a name="Redisent">Redisent</a></h4><ul><li> Redisent is a simple, no-nonsense interface to the Redis key-value store for modest developers. Due to the way it is implemented, it is flexible and tolerant of changes to the Redis protocol.</li><li> Author: <a href="http://blog.justinpoliey.com/" target="_blank">Justin Poliey</a>, <a href="http://twitter.com/justinpoliey" target="_blank">@justinpoliey</a></li><li> Repository: <a href="http://github.com/jdp/redisent" target="_blank">http://github.com/jdp/redisent</a></li></ul>
|
||
|
<h3><a name="Python">Python</a></h3><h4><a name="Python Client">Python Client</a></h4><ul><li> Simple Python client in Redis main repository. No longer under active development.</li><li> Author: <a href="http://qix.it/" target="_blank">Ludovico Magnocavallo</a>, <a href="http://twitter.com/ludo" target="_blank">@ludo</a>.</li><li> Repository: <a href="http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/python" target="_blank">http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/python</a></li></ul>
|
||
|
<h4><a name="py-redis">py-redis</a></h4><ul><li> Redis Python Client.</li><li> Author: <a href="Andy.html">McCurdy</a>, <a href="http://twitter.com/andymccurdy" target="_blank">@andymccurdy</a>.</li><li> Repository: <a href="http://github.com/andymccurdy/redis-py" target="_blank">http://github.com/andymccurdy/redis-py</a></li></ul>
|
||
|
<h3><a name="txredis">txredis</a></h3><ul><li> Python/Twisted client for Redis key-value store</li><li> Author: Dorian Raymer, <a href="http://twitter.com/dio_rian" target="_blank">@dio_rian</a>.</li><li> PyPI: <a href="http://pypi.python.org/pypi/txredis/0.1.1" target="_blank">http://pypi.python.org/pypi/txredis/0.1.1</a></li></ul>
|
||
|
<h3><a name="redis-rb (Ruby)">redis-rb (Ruby)</a></h3><ul><li> A Ruby client library for the redis key value storage engine.</li><li> Author: <a href="http://brainspl.at/" target="_blank">Ezra Zygmuntowicz</a>, <a href="http://twitter.com/ezmobius" target="_blank">@ezmobius</a>.</li><li> Repository: <a href="http://github.com/ezmobius/redis-rb" target="_blank">http://github.com/ezmobius/redis-rb</a></li></ul>
|
||
|
<h3><a name="scala-redis (Scala)">scala-redis (Scala)</a></h3><ul><li> A scala library for connecting to a redis server, or a cluster of redis nodes using consistent hashing on the client side.</li><li> Author: <a href="http://www.linkedin.com/in/alejandrocrosa" target="_blank">Alejandro Crosa</a>, <a href="http://twitter.com/alejandrocrosa" target="_blank">@alejandrocrosa</a>.</li><li> Repository: <a href="http://github.com/acrosa/scala-redis" target="_blank">http://github.com/acrosa/scala-redis</a></li></ul>
|
||
|
<h3><a name="Tcl">Tcl</a></h3><ul><li> The official version is included in the Redis tarball since it's maintained by Salvatore. </li><li> Author: <a href="http://invece.org/" target="_blank">Salvatore Sanfilippo</a>, <a href="http://twitter.com/antirez" target="_blank">@antirez</a></li><li> Repository: <a href="http://github.com/antirez/redis/blob/master/redis.tcl" target="_blank">http://github.com/antirez/redis/blob/master/redis.tcl</a></li></ul>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|
||
|
|