Если вы используете много RedisClient
экземпляров в вашем приложении - вам нужно разделить между ними ClientResources
объект.
Типичный способ создания RedisClient:
RedisClient.create("someUrl");
Ноэтот способ создания объекта не рекомендуется, если вы хотите создать несколько экземпляров.Внутри RedisClient
есть поле с тяжелым объектом: ClientResources
Когда вы создаете много экземпляров RedisClient
, тогда может возникнуть ошибка во время выполнения
LEAK: You are creating too many HashedWheelTimer instances. HashedWheelTimer is a shared resource that must be reused across the JVM,so that only a few instances are created.
Что вы можете сделать, это создать один общий ClientResources
в вашем приложении.И передайте этот объект конструктору RedisClient
.
Например:
ClientResources sharedResources = DefaultClientResources.create();
//and use this between many RedisClients i.e.:
RedisClient first = RedisClient.create(sharedResources, "someUrl");
RedisClient second = RedisClient.create(sharedResources, "someUrl_222");
RedisClient third = RedisClient.create(sharedResources, "someUrl_3333");
Для получения дополнительной информации, пожалуйста, посетите ЗДЕСЬ