我对 Redis 非常陌生。过去几天我一直在研究 redis。我阅读了有关缓存管理(lru 缓存)、命令等的文档。我想知道如何为多个微服务数据实现缓存。 我有几个问题:
- 是否可以将所有微服务数据(缓存)保存在单个 redis 实例下 服务器?
每个微服务都应该在redis中有自己的缓存数据库吗?
如何在不设置EXPIRE的情况下刷新缓存数据?因为它会消耗更多内存。
有关使用微服务的 redis 最佳实践的更多信息将会有所帮助。
最佳答案
可以为多个微服务使用相同的 Redis,只需确保为您的 Redis 缓存键添加前缀,以避免所有微服务之间发生冲突。
您可以在同一个 redis 实例中使用多个数据库(即每个微服务一个),但不鼓励这样做,因为 Redis 是单线程的。
最好的方法是为每个微服务使用一个 Redis,然后您可以轻松地刷新其中一个而无需触及其他。
根据我个人在生产中使用redis缓存的经验(有200万个key),使用EXPIRE是没有问题的。我鼓励您使用它。
关于caching - 多个微服务如何使用redis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832219/