powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Посоветуйте альтернативу memcached
8 сообщений из 8, страница 1 из 1
Посоветуйте альтернативу memcached
    #38901434
swen.son
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужен in-memory LRU store, с возможностью конфигурирования TTL для отдельных элементов, и объема выделяемой памяти на весь кэш. Дополнительный write-through на диск, в качестве бэкинга - тоже подойдет.

Ожидаемая нагрузка: 150-200 записей в секунду, 150-200 чтений в секунду.

Сейчас используем memcached, но с ним проблемы при сохранении новых данных, когда кэш на 100% полон, а новые данные такие, что не укладываются ни в один slab (bucket).

Возможно подойдет Redis, но пока не пробовали. Какие еще можно посмотреть варианты?
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38901439
swen.son
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как дополнение: распределенный кэш не нужен, только локальный
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38901614
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swen.sonКак дополнение: распределенный кэш не нужен, только локальный
MySQL (таблицы с типами: Memory, MyISAM или MariaDB) + API (SocketHandler или Memcached-plugin) - тянет до 700 000 запросов в секунду , даже на ноутбуке с SATA-SSD диском.
Одновременно можно обращаться и как к Memcached (MySQL Memcached-plugin), и как к SQL (PHP/C/C++/.Net/Java/Python через MySQL Connectors).
Если не нужно 700 000 запросов в секунду, можно и логируемые ACID-движки использовать (ExtraDB, InnoDB), но если юзать тупо как key-value, то из ACID увидите только D (Durability) и скорость на порядок поменьше.

есть - in-memory LRU store
есть - с возможностью конфигурирования объема выделяемой памяти на весь кэш
есть - Дополнительный write-through на диск
есть - Ожидаемая нагрузка: 150-200 записей в секунду, 150-200 чтений в секунду.

"с возможностью конфигурирования TTL для отдельных элементов" - это можно понимать по разному.
Как вариант, MySQL (движок Memory) , в каждой таблице дополнительное поле timestamp и по таймеру EVENT удалять старые:

Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE my_table (
key VARCHAR(32),
value VARCHAR(65536),
filed_timestamp TIMESTAMP,
PRIMARY KEY (key)
) ENGINE=MEMORY;


TIMESTAMP по умолчанию NOT NULL, а его значение по умолчанию равно NOW().

Код: plsql
1.
2.
3.
4.
CREATE EVENT addTimer 
ON SCHEDULE EVERY 2 SECOND 
DO 
DELETE FROM my_table WHERE filed_timestamp + TTL < now() 
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38902065
swen.son
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MySQL вариант не нравится, ввиду того что хотелось бы сериализовать java-объекты целиком, не заморачиваясь с полями и типизацией.
Так же желательно, чтобы это был вариант hash map, с константным временем чтения по ключу.

Понимаю, что на MySQL можно это все сделать, но слишком много костылей.
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38902394
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swen.sonMySQL вариант не нравится, ввиду того что хотелось бы сериализовать java-объекты целиком, не заморачиваясь с полями и типизацией.
Так же желательно, чтобы это был вариант hash map, с константным временем чтения по ключу.

Понимаю, что на MySQL можно это все сделать, но слишком много костылей.
Обычно это подходит тем, кто уже использует MySQL, и для ускорения хочет добавить ещё один лишний слой в виде memcache/redis.
В MySQL есть hash map - хэш индексы CREATE INDEX id_index USING HASH и есть BLOB чтобы хранить объект целиком не заморачиваясь с полями и типизацией, но BLOB-а нет в движке MEMORY :)
Т.е. если достаточно 700 000 запросов в секунду, то можно обойтись и не in-memory.
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38918361
Serge555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swen.sonMySQL вариант не нравится, ввиду того что хотелось бы сериализовать java-объекты целиком, не заморачиваясь с полями и типизацией.
Так же желательно, чтобы это был вариант hash map, с константным временем чтения по ключу.

http://hazelcast.com
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38939883
Миранда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge555swen.sonMySQL вариант не нравится, ввиду того что хотелось бы сериализовать java-объекты целиком, не заморачиваясь с полями и типизацией.
Так же желательно, чтобы это был вариант hash map, с константным временем чтения по ключу.

http://hazelcast.com
спасибо)
...
Рейтинг: 0 / 0
Посоветуйте альтернативу memcached
    #38974735
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swen.sonНужен in-memory LRU store, ....
Apache Ignite - все есть из коропки + куча еще всякого.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Посоветуйте альтернативу memcached
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]