Live data from Hacker News

Redis Loadable Modules System

antirez.com

41–50 of 62 posts

Re: Redis Loadable Modules System

#41
The docs explain the module system (https://github.com/antirez/redis/blob/unstable/src/modules/I...) but it doesn't quiet explain what the system is for. I couldn't quite get that from reading the blog post or the doc page. Specifically:

What kind of modules did you have in mind when designing this? Are any of the below possible?

* ldap backend login system

* multi-tenant redis

* alternate db format/file system.

* implement a new redis data type. say built-in date support

* can i implement new commands and operators on said data types

An of course, thanks for this fantastic software. We use it everyday. Will read in more detail about this over the weekend :-)

Re: Redis Loadable Modules System

#42
post #34

I once built something like this for Redis but never really thought he would do it! https://github.com/spullara/redis/tree/plugins

I've written something similar too. Adding plugins/modules was like a rite of passage for anyone digging into the redis source. I'm definitely happy to see modules getting official support now though.

I was blown away with how easy it was and with the code quality.

Re: Redis Loadable Modules System

#44
databases (redis included) are awesome. It's always surprising to me that we don't run web apps directly on the database; they're high-performance, durable and parallel, and for some apps are already the perf bottleneck.

I think the only reason we don't is that deployment and testing isn't straightforward. Fingers crossed antirez will get this right.

Re: Redis Loadable Modules System

#45
post #18

Earlier quoted context omitted.

I use https://kapeli.com/dash for offline documentation for when I'm on flights. Also, WiFi has been available on more and more flights. I actually have found long flights good for solid focused coding sessions (especially when I already have thought through what I want to build). edit: woops, looks like someone submitted this at the same time. In any case, working offline also forces you to reign in your app depende…

Wow, it even has Hackage support! Too bad it's OS X-only.

Check out Zeal for Linux. It uses the same docsets as Dash.

Re: Redis Loadable Modules System

#47
post #8

I tried to read the article but I couldn't. It's all one big block. The word wrapping is wrong on input! Individual paragraphs are groups of individual lines and extra long lines that the browser wraps for you. So you end up with lines in the middle of paragraphs that only have one or two words. Net result is it's very hard to read. I tried Safari's reader mode, but that was even worse. Because all formatting comes f…

Why is this downvoted? It's true that this blog has bad formatting considering how simple it is, there's no reason to use
 for the entire text.

Just because the author created Redis doesn't mean the site isn't badly designed.

Re: Redis Loadable Modules System

#48

databases (redis included) are awesome. It's always surprising to me that we don't run web apps directly on the database; they're high-performance, durable and parallel, and for some apps are already the perf bottleneck. I think the only reason we don't is that deployment and testing isn't straightforward. Fingers crossed antirez will get this right.

You might find CouchDB pretty interesting, then! [0]

[0] https://couchdb.apache.org/

Re: Redis Loadable Modules System

#49
post #41

The docs explain the module system ( https://github.com/antirez/redis/blob/unstable/src/modules/I... ) but it doesn't quiet explain what the system is for. I couldn't quite get that from reading the blog post or the doc page. Specifically: What kind of modules did you have in mind when designing this? Are any of the below possible? * ldap backend login system * multi-tenant redis * alternate db format/file system. *…

Actually the post explains the motivation well. The basic idea is to add capabilities to redis at native speeds, without having to either convince antirez that they're necessary or forking redis.

I work for Redis Labs, and over the course of the past few weeks we've experimented with some modules using the API. Some of the things we did that might answer some of your questions:

a PAM based authentication module, which IIRC can plug into LDAP potentially.

A bloom filter implementation on top of bitmaps.

An inverted index that doesn't use existing data types but rather creates compressed indexes directly using redis strings (I wrote that one personally BTW)

An API to store images on redis and retrieve them resized or cropped.

So right now the only way to create new data types is to piggyback strings as raw memory, but the final version of the API will include actually registering new data types.

You can see the modules we've released here: https://github.com/RedisLabsModules/

Re: Redis Loadable Modules System

#50

https://github.com/RedisLabsModules/redex Shows some sample modules from Redis Labs called RedisEx, pretty useful stuff (although most of these should really be in Redis by now but at least it's an option to include as modules).

> most of these should really be in Redis by now

This exactly the point of the module system. You don't need to either convince antirez to accept/implement a new feature, or fork redis if he doesn't agree. It will make the dynamics of redis much more interesting IMO

Post reply on HN