Git Product home page Git Product logo

redis's People

Contributors

benwaffle avatar btoews avatar carlosflorencio avatar codepope avatar jsierles avatar matt-yorkley avatar mrkurt avatar tvd0x2a avatar tvdfly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

redis's Issues

Align Docker image release workflow with Postgres

For our semi-managed services, we want images to be generated automatically from Github tags. Postgres is already setup for this. We should setup this repo the same way.

This helps people track Redis versions with fly image. fly image is backed by our API which will automatically track new versions from specific repositories. The tracking is already setup for this repository in the Fly backend.

Can't use bind mount

Commit 3f51e80 set the WORKDIR to / "to prevent files from being overwritten in /data".

This unfortunately means that I can't use a bind mount locally in docker-compose with this image. I have to use a separate redis image in development which isn't ideal given I'm trying to replicate environments as closely as possible.

official doc is not working

This is not an issue about this project, but about the official doc. ( https://fly.io/docs/reference/redis/ ๏ผ‰

The Official doc for running a new REDIS is totally not working, it would generate an incorrect fly.toml and doesn't work.

I spent hours until I found this demo project, and its fly.toml is correct

Please contact related employee to fix the bug, thanks ~

Configuring the max memory policy

To help mitigate OOM'ing the VM, we should by default configure a max_memory policy.

Things to consider when setting max memory:

Persistence
Redis needs to fork() when dumping to disk for RDB and when rewriting the AOF. So we will need to reserve a percentage of the VM's allocated memory to account for CoW.

Evictions
Key evictions happen when memory_usage exceeds the max_memory policy. So regardless of whether persistence is enabled or not, we still need some buffer room to work with between the max_memory policy specified and the total memory allocated to the VM.

Additional processes running within the VM
The metrics exporter, health checks, and any other processes that run within the same VM will need to be carefully evaluated to ensure we don't inadvertently trigger an OOM.

arm64 image for local development without crashes?

Hi there, I've been using this image on fly and for local dev without much issues for a while now.

However, I recently upgraded to a M2 MBA, and started experiencing crashes in local dev similar to the ones reported in this issue: redis/redis#10162 (comment)

Apparently this crash only happens when running amd64 redis images on top of QEMU for M1/M2. Recommended solution is to use a native arm64 image.

Ideally I'd like to use the same image for local dev and prod, so it would be awesome if this image could be updated to support arm64 like the official redis image does!

Add basic health checks

Add some basic health checks to cover:

  1. Connectivity
    Something that periodically issues a PING would be fine.

  2. Connections
    Something that communicates active connections/max connections.

  3. Disk/Memory/CPU/IO
    Same VM stats as PG would be fine. However, we will need to tweak memory alerting a bit for configurations with a memory eviction policy set.

There's plenty more we could add, but I think this would be a good start.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.