MichaCo / CacheManager

CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.
http://cachemanager.michaco.net
Apache License 2.0
2.34k stars 457 forks source link

Redis prefix #259

Open bencyoung opened 5 years ago

bencyoung commented 5 years ago

Would it be possible to add an optional prefix to all of the keys in the Redis DB. We already store some other data in Redis, and if you're using clustering then you can only use DB 0, so it would be nice if they didn't overlap. It could be configurable so that it doesn't impact people who don't need it?

MichaCo commented 5 years ago

I'm not sure if that's really necessary. You can easily craft prefixed cache keys yourself ;)

bencyoung commented 5 years ago

That's true, although you'd need to know at the cache consumer side that: 1) You'd using Redis 2) There are other users of the same Redis DB

so it means the knowledge has to propagate. It's not a major concern, but more of a nice to have.

MichaCo commented 5 years ago

Yup I agree, would be nice to have. I'll keep it in mind

gautelo commented 5 years ago

I support this notion. Alternatively, or in addition, please add a similar option for prefixing regions.

Baune8D commented 4 years ago

I also support this, i really feel this feature is missing.

Microsoft.Extensions.Caching.Redis already have a feature like this using InstanceName

services.AddDistributedRedisCache(options =>
{
    options.Configuration = "ConnectionString";
    options.InstanceName = "CacheKeyPrefix";
});

We run multiple applications on the same Redis instance and use prefixes to seperate applications. It gets really hard to enforce these key prefixes throughout an application without a feature like this.