Go to content

RailsConf 2022 - Caching Without Marshal by Chris Salzberg

Marshal is Ruby's ultimate sharp knife, able to transform any object into a binary blob and back. This makes it a natural match for the diverse needs of a cache. But Marshal's magic comes with risks. Code changes can break deploys; user input can trigger an RCE. We recently decided these risks were not worth it. Breaking with convention, we migrated the cache on our core monolith to MessagePack, a more compact binary serialization format with stricter typing and less magic. In this talk, I'll pry Marshal open to show how it works, how we replaced it, and why you might want to do the same. _____________________________________________________________ Cloud 66 - Deploy your Rails code directly from your repo to any cloud in minutes. Cloud 66 offers the convenience of Heroku, but on any cloud and in any region, with persistent storage, custom network configuration, zero downtime deployments, blue/green and canary releases, WAF, and more. Get $100 Cloud 66 Free Credits with the code: RailsConf2022 ($100 Cloud 66 Free Credits, for the new user only, valid till 31st December 2022) Cloud 66: https://cloud66.com/frameworks/rails?utm_source=e&utm_medium=d&utm_campaign=ytRailsConf-22

May 17, 2022