Caching library for asynchronous Python applications. (by DreamLab)


Basic memoize repo stats
about 1 month ago

DreamLab/memoize is an open source project licensed under Apache License 2.0 which is an OSI approved license.

Memoize Alternatives

Similar projects and alternatives to memoize based on common topics and language

  • GitHub repo Tornado-SQLAlchemy

    SQLAlchemy support for Tornado

  • GitHub repo webssh

    :seedling: Web based ssh client

  • GitHub repo ReducePy

    URL shortener service using Tornado and Redis runs on Docker and Kubernetes.

  • GitHub repo django-hurricane

    Hurricane is an initiative to fit Django perfectly with Kubernetes.

  • GitHub repo Home Assistant

    :house_with_garden: Open source home automation that puts local control and privacy first

  • GitHub repo fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

  • GitHub repo sanic

    Async Python 3.7+ web server/framework | Build fast. Run fast.

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better memoize alternative or higher similarity.


Posts where memoize has been mentioned. We have used some of these posts to build our list of alternatives and similar projects.
  • Good and Bad Elixir | 2021-06-10
    I totally agree, though I think those articles are a lot harder (eg requiring more skill) to write well because you need to quickly ramp your readers on all of whatever the context is that's necessary to actually appreciate the nuance of the design decisions under discussion. You're basically by definitely going to be out of the realm of "just follow best practice X" or "apply pattern Y or you're doing it wrong."

    As a small example, I've been working on a small asyncio-based web service (Python) which is oriented around an expensive process that generates a result, where the result is stashed in sqlite and returned. I knew upfront that I needed a way to track when a particular result was already being prepared so that if I got a second request for it, it would collapse it into the first one and only do the work once. I wrote this as a twenty line memoizing decorator, but it turns out this issue as a name— cache stampeding. Once I realized that, I discovered that there are existing (and much more complicated/tunable) solutions to this problem, such as, but the article pitching that solution spends quite a bit of time getting to it— enough so that if I'd discovered it before building my own, I'm not sure I would even have appreciated its applicability: