Redisson очень медленно работает с RBucket - PullRequest
0 голосов
/ 10 апреля 2020

Я получаю 10000 TPS. Я использовал внутреннюю хэш-карту Java, чтобы принимать и хранить эти транзакции в качестве ключей. Большинство транзакций являются дубликатами, поэтому при вводе ключа будет создан объект и значения будут сохранены в этом объекте. Если появится тот же ключ, мы просто сделаем некоторые оценки и обновим значения в этом объекте. Этот подход был очень быстрым. Он мог справиться с количеством TPS, которое я бросил в него.

Теперь я хотел использовать Redis. Я использую Redisson, чтобы взять эти объекты, и pu sh в Redis. Этот подход очень медленный, и я не уверен, что это из-за Redisson. Вот весь код с участием Redisson:

RBucket<BookRequest> bucket = redis.getBucket(key);
    setRequestBucket(bucket);

    if (bucket.isExists()) {
        BookRequest bookRequest = bucket.get();
        BookRequest.incrementVolume(bookHour);
        return shopRequest;
    }

    bucket.set(new BookRequest(bookHour));
    return bucket.get();

После того, как я получу объект, изменим значения, я делаю это:

        this.bucket.getAndDelete();
        this.bucket.set(shopRequest);

И все. TPS составляет 2 КБ в секунду, что очень медленно. Есть ли способ сделать это быстрее?

...