it's still a wip but my relay doesn't delete events... it just returns the newest one, like you see in my issues about it - i'm currently in the midst of building a database size limitation regulation/garbage collector but maybe in a few days i'll have that done and i think that combines to make a clear candidate for what you are looking for
and no, it's not written in rust, it's written in Go, built off the base of fiatjaf's khatru and go-nostr and nostr-sdk