…Moneta store, such as or Redis.) in any
However, we don't always need to cache the entireresponse. We can save space, avoid adding the operational overhead of Memcache or Redis, and avoid repeating the JSON parsing step if we cache only the URL requested.
Foursquare venue search
In the following example, our app only needs a venue's name, latitude, longitude, and street address. We'll get the data from's venue search …
…Overture Media, Pixbi, Propel Marketing, Redis to Go, Resonance Labs, RosterWrangler, Schoolkeep, Sermo, Skillable, Skillable, SnapEngage, Spogo, T1D Exchange, TDDium, TeamWork Online, Threadflip, Thrively, Valence, WoodSnap, Wootric, and Yammer, for trusting us to work on your products.
Thank you to all of our workshop alumni, those of you who have bought one of our ebooks or screencasts, and everyone else who is a Learn customer.
Software as a service …
…server are authenticated using that access token. For example, if you use addons.heroku.com to add Redis To Go or New Relic to your app, that results in addons.heroku.com decrypting your session cookie (after verification of the HMAC tag), extracting the OAuth access token, and making a backpost to api.heroku.com to execute the change. We use this same "save token in encrypted cookie" approach across all Heroku properties that require API access.
Yo dawg, I heard you …
…load shedding in each process that writes to the outside world: the tail buffers, and we have the Redis buffers locally and within each single drain. To work this way, the drain can be thought of as a combination of two state machines:
a state machine representing the connection or protocol negotiation state for the socket to the remote endpoint;
a state machine handling the buffering of log lines (both on input and output).
For the first type, the most basic machine is:
This means that …
…you're running (, , , Redis, etc). You can also go further and use to monitor the state of external systems you depend on, even if you don't have direct control over them. At least you can initiate a failover (e.g. switch to if is down).
The doc on checks is pretty comprehensive. This post is meant as a primer.
So, what's a Sensu check? Let's start with how they're configured:
1 2 3 4 5 6 7 …
…:: " Redis is so fast, why don't we replace RAM with Redis?"
@ petrillic : OH "Promises/futures are the one-night stands of architectural constructs" nice #
@ TwitterEng : " and let readily share and modify its enormous codebase across a team of hundreds of developers."
Lots of juicy numbers revealed at Structure:Europe : streams 114,000 years of video every …
Score +2 if you have created an API for a production environment.
Score - 5 if you've only used ftp to deploy applications.
Score +1 if you ride a bike.
Score +1 if you play an instrument.
Score +1 if you speak another language.
Score +1 if you paint, draw, sculpt, and build things
Score +1 if you keep …
Fido stores the fetched e-mails in a Redis database. This database also serves as a processing queue for the e-mail importer.
The only centralized component in Fido's architecture is the main web application. The web application will only be contacted in case of failure and Fido can happily stay running when the web application is down.
Fido can scale across multiple servers by splitting up the mail accounts file.
Fido has an elaborate test …
Atomic execution Lua operations execute atomically in Redis so you can add complex logic to mutate data within Redis without the need for locks.
There's a caveat of course: Redis is single-threaded so executing a user-defined Lua script can add significant latency to other Redis operations if you aren't careful with performance. O(n^2) algorithms are definitely a no-no and minimizing O(n) algorithms is still a good idea if you want your Redis server to continue to perform …
I wrote a simple benchmark which loads 20,000 empty jobs into Redis and then times how long it takes one Sidekiq process to finish those jobs running on my 2012 MacBook Air. The times are unsurprising (lower is better):
JRuby 1.7.4 - 38 sec (using java 1.7.0 09)
MRI 2.0.0-p195 - 50 sec
MRI 1.9.3-p374 - 56 sec
Just as a point of comparison, I tried the latest version of Resque too:
MRI 2.0.0-p195 - 286 sec ( Resque 1.24.1, one process)
Defaults were used where possible, …