|
Хранение данных в памяти сервера, доступных из любого сеанса | ☑ | ||
---|---|---|---|---|
0
ramir
15.09.17
✎
13:46
|
Всем привет!
Возникла идея об организации некого серверного кэша аналогично временному хранилищу, только доступного из любого сеанса. Прежде чем начать ваять свой велосипед хочется понять, 1Ска сама не позволяет это делать какими-то стандартными средствами? Для чего это нужно. Для быстрого ответа на http запросы, по-максимуму без обращения к БД. Т.е. если есть данные в этом кэше - берем оттуда, если нет, то берем из БД и кэшируем. Также отслеживаем изменения БД, влияющие на закэшированные данные и обновляем кэш. |
|||
1
Rusland
15.09.17
✎
13:49
|
Ram Disk, не?
|
|||
2
bolobol
15.09.17
✎
13:51
|
Повторное использование возвращаемых значений не помогает?
|
|||
3
ramir
15.09.17
✎
13:52
|
(1) из внешних решений больше memcached нравится, хочется понять 1Ска что-то такое предоставляет или нет.
Не знаю как работает временное хранилище на стороне сервера (без передачи на клиент), но есть подозрение что ничего не сериализуется и не тратятся на это ресурсы. При использовании сторонних средств - придется заниматься сериализацией/десериализацией. |
|||
4
Мыш
15.09.17
✎
13:54
|
(2) Не все знают, заметь. И потом, это же три общих модуля рисовать )
|
|||
5
ramir
15.09.17
✎
13:55
|
(2) Проблема в том что данные которые хочется закешировать достаточно большие в объеме, а меняются только маленькие их части, достаточно часто. Придется под каждую эту часть писать функции, это замедлит в общем и целом. Нельзя принудительно сбросить при изменении данных. Плюс время этого кэша в платформе достаточно маленькое. В общем хочется управлять этим кэшем.
|
|||
6
H A D G E H O G s
15.09.17
✎
13:58
|
Никак
|
|||
7
ramir
15.09.17
✎
14:01
|
(6) Надежда умирает последней =)
|
|||
8
vde69
15.09.17
✎
14:06
|
тут главная проблема, что сервер 1с - это КЛАСТЕР серверов, и теперь вопрос:
как процесс из сервера 1 получит данные из памяти сервера 55 |
|||
9
mistеr
15.09.17
✎
14:06
|
(0) Сервер 1С это не веб сервер! Откуда столь упорное желание заставить его заниматься не своим делом? Есть же более подходящий софт для этого.
|
|||
10
ramir
15.09.17
✎
14:12
|
(8) Это как раз обсуждали с коллегами. Данные сеанса же передаются между серверами.
(9) Кто вам такое сказал? У нас весь API 1С реализует. |
|||
11
vde69
15.09.17
✎
14:17
|
(10) данные сеанса НЕ передаются между серверами (за исключением блокировок).
один сеанс всегда находится в одном процессе, если процесс умирает - сеанс создается в номом процессе и при этом все старые захешированные данные теряются. |
|||
12
ramir
15.09.17
✎
14:18
|
(11) Не знал, вообще от темы с множеством серверов пока далек.
|
|||
14
ИмяФамилия
15.09.17
✎
15:09
|
(12) а может таких данных и нет вовсе?) которые надо кэшировать.
а если кэшировать - то memcache/redis протокол там простой. сериализация и обратно - да - самостоятельно. не забывать чистить данные после их изменения. когда понадобятся "тэги" то понять зачем было всё это время потрачено) |
|||
15
mszsuz
15.09.17
✎
16:19
|
(0) Есть ещё ХранилищеОбщихНастроек.
|
|||
16
mistеr
15.09.17
✎
17:06
|
(10) И сколько у вас одновременных запросов в секунду бывает?
|
|||
17
Лефмихалыч
15.09.17
✎
17:12
|
(0) >Для быстрого ответа на http запросы, по-максимуму без обращения к БД блаблабла
и наиух тебе 1С для этого? |
|||
18
dezss
15.09.17
✎
17:19
|
Пихай базу в сетевое хранилище на zfs.
Плюс там можно как-то очень хорошо организовать кэш и снимки системы. |
|||
19
dezss
15.09.17
✎
17:19
|
(18) + 10Гб сетка между сервером и хранилищем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |