3 ms·
Using Redis with Ruby on Rails
- phlux 16y agoI would love to see performance info for a site running redis on top of FusionIO hardware.
- pjscott 16y agoRedis' usual mode of operation is to keep the dataset in memory, making the FusionIO SSD hardware kind of redundant. With the new diskstore back-end, though, and really fast solid state drives, I bet that Redis could be really fast with a data set much bigger than memory.
- caiusdurling 16y agoNice intro piece. Especially liked the breakdown of data structures in redis, comparing them to Ruby.
- andrewvc 16y agoI actually like the redis-objects gem, which maps redis structures to ruby objects. https://github.com/nateware/redis-objects https://github.com/nateware/redis-objects
- Jim_Neath 16y agoI've never used redis-objects but it does look interesting. I'll have a play around with it tonight and update the post. Thanks for the heads up. Edit: updated.
- michaeldhopkins 16y agoWould you please explain why you prefer it to rb-redis?
- andrewvc 16y agoredis-rb maps redis commands into the ruby namespace. redis-objects is built on top of redis-rb and creates objects that are backed by redis, with operations like push, pop, etc. cleanly mapped. In other words, it's a more ruby-like API. I recommend reading the github README for redis-objects, it goes into a lot of depth.
- dasil003 16y agoThe critical distinction of redis-objects is that it does not abstract away the atomic redis commands, which are the source of redis' power. It contrasts with ORMs where the goal is primarily convenience; with redis-objects the goal is power.
- igorgue 16y agoI really loved the "TL;DR: Redis is fucking awesome." I started using Redis for a project with Node, and I loved the node_redis library because it's non-blocking :-)
- tptacek 16y agoRedis is absolutely beautiful for async networking; the protocol is extremely straightforward. It has completely solved my problem of persisting data from EventMachine programs in Ruby, too. A couple hundred lines of ObjC got a generic Redis client and a special-purpose blpop client working for my Cocoa apps (I keep libevent in a thread there).
- koudelka 16y agoI'm working on bringing em-hiredis up to spec. If you want a similarly non-blocking ruby alternative. https://github.com/koudelka/em-hiredis https://github.com/koudelka/em-hiredis