4 ms·
An update on Redis and Lua
- andrewvc 15y agoThat's cool, but not nuts about JSON. They should include at least one space-efficient format, like messagepack (which is 100% compatible with JSON after encoding / decoding). Of course, this opens the floodgates... Also, is zlib available?
- justincormack 15y agoZlib is not shipped with Lua. I am sure more stuff will get added though as time goes on.
- kainosnoema 15y agoIn recent benchmarks, Node's JSON implementation is almost twice as fast as messagepack. I think I'd rather have the more universally used format anyway.
- andrewvc 15y agoIt's not about speed, but space efficiency, msgpack is significantly smaller. That's useful for a mostly in memory database. As far as speed that's negligible.
- antirez 15y agoHello, if you care about size, the best way is to just use Redis Hashes, that internally store fields and values into a binary very compact representation.
- deweller 15y agoThis is an interesting turn for Redis. In my mind, this is the lightweight, NoSQL analog to stored procedures.
- Nycto 15y agoI'm sure you simply meant to make this comparison based on the fact that both implementations execute scripted functions on the data store server. However, I think there is a very important distinction that warrants a clarification: Stored procedures are saved on the server and then referenced by name. Redis scripting requires that the code be transmitted in each request. Antirez goes over this in his original post, here: http://antirez.com/post/redis-and-scripting.html http://antirez.com/post/redis-and-scripting.html
- simonw 15y ago"Redis scripting requires that the code be transmitted in each request." Only until antirez implements the EVALSHA command.
- antirez 15y agoImplemented ;)
- a-priori 15y agoRedis scripting requires that the code be transmitted in each request. For now, yes, but antirez has said that he's considering adding an EVALSHA command or something that will execute an existing script by the hash of the source code.
- ryanpetrich 15y ago> My solution was to convert null (multi) bulk types into false, and the other way around, false returned from Ruby is turned as a null bulk reply. should read: > My solution was to convert null (multi) bulk types into false, and the other way around, false returned from Lua is turned as a null bulk reply.