如何将redis用于微服务的数量?

kaa*_*man 8 caching redis microservices

我非常喜欢redis.我过去几天一直在研究redis.我阅读了有关缓存管理(lru缓存),命令等的文档.我想知道如何为多个微服务数据实现缓存.我有几个问题:

  1. 是否可以将所有微服务数据(缓存)保存在redis服务器的单个实例下?
  2. 每个微服务是否应该在redis中拥有自己的缓存数据库?

  3. 如何在不设置EXPIRE的情况下刷新缓存数据?因为它会消耗更多的内存.

有关使用微服务的redis最佳实践的更多信息将会有所帮助.

kha*_*nou 10

可以将相同的Redis用于多个微服务,只需将你的redis缓存键设置为前缀,以避免所有微服务之间发生冲突.

您可以在同一个redis实例中使用多个数据库(即每个微服务一个),但不建议使用它,因为Redis是单线程的.

最好的方法是为每个微服务使用一个Redis,然后您可以轻松地冲洗其中一个而不触及其他微服务.

根据我在生产中使用redis缓存的个人经验(拥有2百万个密钥),使用EXPIRE没有问题.我鼓励你使用它.