Реклама на сайте Advertise with us

Redis - что лучше много коротких документов или один большой

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 22/09/17 в 21:06       Ответить с цитатойцитата 

Речь именно о производительности.
Есть возможность хранить раздробленными хешами по группам под разными ключами или запихнуть всю инфу в один большой хеш под одним единым ключом. Кто-то вкурсе как оптимальнее поступить?

0
 

Web Developer С++

С нами с 25.11.01
Сообщения: 859
Рейтинг: 759

Ссылка на сообщениеДобавлено: 22/09/17 в 22:05       Ответить с цитатойцитата 

Думаю искать по ключу он будет примерно одинаково, а передавать инфу дольше при одном хеше т.к. её тупо больше.
Не вижу особого смысла использовать Redis для одного ключа, на это есть другие инструменты - разделяемая память например или тупо файл (лучше на ssd или ram-диске).

Софт для вебмастеров, криптобот, программинг (C++/PHP), партнерка: https://dfservice.com/ru/

7
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 23/09/17 в 07:45       Ответить с цитатойцитата 

S_Flash писал:
Речь именно о производительности.
Есть возможность хранить раздробленными хешами по группам под разными ключами или запихнуть всю инфу в один большой хеш под одним единым ключом. Кто-то вкурсе как оптимальнее поступить?


если хранить все по 1 ключу - придется постоянно сериализовывать и десериализовывать при каждой необходимости изменения или чтения. это получается как memcache

а если данные не меняются или меняются не часто - лучше тогда сделать var_export в php файл и подключать через include - тогда через opcache само все будет оптимально работать и кешироваться без всяких redis.

7
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 23/09/17 в 10:55       Ответить с цитатойцитата 

Кеш страниц отдельно. Речь именно про реализации параллельных страницам метрик в хеши.
Просто есть вариант плодить подобный хеш с метриками для каждой страницы отдельно, а есть вариант реализации, при котором метрики страниц группируются по определённому признаку и могут спокойно обслуживаться одинм общим хешем для группы. Серелизовать ничего не приходится, так как операция hincrby решает все реалтайм операции в этих хешах-метриках.

0
 

Web Developer С++

С нами с 25.11.01
Сообщения: 859
Рейтинг: 759

Ссылка на сообщениеДобавлено: 23/09/17 в 12:23       Ответить с цитатойцитата 

S_Flash писал:

Серелизовать ничего не приходится, так как операция hincrby решает все реалтайм операции в этих хешах-метриках.

Используя hincrby ты два поиска получается делаешь - по хешу и по полю, а там один только по ключу.
Несложно протестировать так и так, может вообще разницы в скорости не заметишь на своих данных.

Последний раз редактировалось: DF™ (23/09/17 в 15:34), всего редактировалось 1 раз

Софт для вебмастеров, криптобот, программинг (C++/PHP), партнерка: https://dfservice.com/ru/

7
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 23/09/17 в 14:15       Ответить с цитатойцитата 

DF™ писал:
Используя hincrby ты два поиска получается делаешь - по хешу и по полю, а там один только по хешу.
Несложно протестировать так и так, может вообще разницы в скорости не заметишь на своих данных.

Чёт не уловил мысль про второй вариант.
hincrby - использую на случай, чтоб избежать наслоения данных на случай, если два события одновременно спровоцируют инкремент моей метрики. В случае с серилизацией и текстовым полем есть хоть и маловероятный, но возможный вариант, когда в одно и то же время скриптом будут взяты устаревшие данные, а в случае hincrby инкремент всегда добавляется в очередь и отрабатывает коректно в синхронных вызовах.

0
 

Web Developer С++

С нами с 25.11.01
Сообщения: 859
Рейтинг: 759

Ссылка на сообщениеДобавлено: 23/09/17 в 15:30       Ответить с цитатойцитата 

Я понял про hincrby
Когда ты хранишь в одном хеше используешь типа: HINCRBY myhash field 1
Когда много ключей типа: INCRBY mykey 5
Два поиска и один!

Софт для вебмастеров, криптобот, программинг (C++/PHP), партнерка: https://dfservice.com/ru/

7
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 23/09/17 в 21:10       Ответить с цитатойцитата 

Если выбор оптимального решения действительно важен, то сгенери данные более-менее отражающие реальные, и напиши бенчмарк.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »