Зарплата кэшем как это

Обновлено: 06.07.2024

За последний год доля россиян, предпочитающих хранить деньги в виде наличных, выросла с 27% до 34% и почти догнала сторонников банковских вкладов — 36%, следует из материалов ЦБ РФ. Резкий переход произошёл в весенне-летний период: если в марте любителей кеша было 28%, то в августе уже 33%.

В самом Центробанке полагают, что повышенный спрос населения и бизнеса на наличные деньги в 2020 году связан с влиянием пандемии.

Увеличение числа россиян, предпочитающих хранить деньги наличными, объясняется экономическим кризисом и общей неопределённостью, связанной с пандемией, соглашается управляющий директор по макроэкономическому анализу и прогнозированию агентства «Эксперт РА» Антон Табах.

Author: Антон Табах [ старший экономист «Эксперт РА» ]

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

Помимо влияния COVID-19 на интерес россиян к наличным повлияли и действия самого ЦБ, полагают эксперты. Регулятор в течение 2020 года заметно сократил размер ключевой ставки — с 6,25% до 4,25%. Следствием этого шага стало снижение ставок по кредитам и депозитам, что уменьшило доходность банковских вкладов.

По данным Банка России, максимальная процентная ставка по рублёвым вкладам десяти крупнейших российских банков на конец 2020-го составила 4,48%. Год назад она равнялась 6%.

Author: Егор Лопатин [ старший аналитик рейтингового агентства НКР ]

За прошлый год существенно снизились процентные ставки по вкладам — как рублёвым, так и валютным. Даже в рублях ставка становится всё менее привлекательной для населения, лишь немногим превышая уровень инфляции. При этом денежные средства на депозитах заморожены на длительное время, так как при досрочном расторжении, как правило, сгорают накопленные проценты.

В дополнение к этому, как отмечает эксперт, на фоне снижения в прошлом году курса рубля вырос интерес населения к валютным накоплениям. При этом учитывая, что ставки по таким вкладам редко превышают 1%, распределение валютных накоплений также могло пойти в пользу наличной формы, поясняет экономист.

Между тем смена формы хранения не повлияла на общий объём сбережений россиян — в декабре он практически не изменился, пишут «Известия» со ссылкой на данные ЦБ.

На фоне снижения банковских ставок объём средств на депозитах россиян действительно сократился. Если на начало прошлого года на них хранилось 22,878 трлн рублей, то в начале декабря эта сумма уменьшилась до 21,178 трлн. Таковы данные ЦБ РФ.

Впрочем, часть денег ушла не «под матрасы», а на текущие расходы населения, отмечает профессор кафедры «Финансы, денежное обращение и кредит» факультета финансов и банковского дела РАНХиГС Юрий Юденков.

Author: Юрий Юденков [ профессор кафедры «Финансы, денежное обращение и кредит» факультета финансов и банковского дела РАНХиГС ]

Многие люди держат накопления именно для того, чтобы в тяжёлое время их потратить. Именно такое время в прошлом году и наступило, поэтому люди сняли деньги со сберегательных счетов и потратили их. Поскольку ставки по депозитам упали, часть россиян переложили деньги с банковских вкладов на инвестиционные счета, пытаясь заработать на различных инвестиционных фондах, где обещают доходность больше, чем у банков.

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

Из-за пандемии COVID-19 присутствует фактор неизвестности — никто не знает, какой будет ситуация летом. Когда возникает неопределённость, люди хотят стабильности, а наличные деньги дома для многих — это стабильность, пояснил эксперт.

В Банке России, наоборот, рассчитывают, что тяга населения к кешу будет уменьшаться.

В ближайшие годы Банк России ожидает постепенного возврата спроса на наличные деньги к уровням, которые были до пандемии, то есть объём наличных денег в обращении будет постепенно сокращаться. Скорость нормализации объёма наличных будет в значительной степени зависеть от развития эпидемической ситуации, — заявили в ЦБ.

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

Плюсов хранения сбережений в наличной форме я не вижу. Считаю, что деньги необходимо вкладывать, неразумно хранить их дома или в банковской ячейке. Единственным исключением может быть наличная валюта, которая даже «лёжа» дома может приносить доход при определённых условиях — рубль девальвируется и стоимость валюты может расти в цене. Поэтому валюту выгоднее держать дома, чем рубли, — отметил Юрий Юденков.

Напомним, 2020 год российская валюта завершила с приличными потерями — её курс за это время снизился почти на 20% к доллару и почти на 30% к евро.

Потенциальные потери тех, кто держит деньги в наличке, можно оценить в 13%, считает Юденков. Это 9% возможного дохода от малорискованных инвестиций и 4% инфляции — ведь если просто хранить деньги дома, они постепенно обесцениваются.

Те, кто хранит деньги в наличной форме, теряют процент по вкладу плюс несут издержки и риски потерь от преступников или природных явлений, а если суммы крупные, то расходы на сейф или аренду ячейки. Плюс здесь всего один — ликвидность. Минусы — всё остальное, потери от инфляции и отказ от процентов, риск кражи или гибели от пожара, — отметил Антон Табах.

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

CASH - волшебное налогонеоблагаемое полулегальное слово, в переводе на русский — наличка. Ну и что тут страшного в наличке? — реплика из-за океана. Постараюсь объяснить то, что сама еще понимаю с трудом. Вот ситуевинка. Вы хотите, ну очень хотите машину (квартиру, дом, самолет, остров, Луну и так далее). Что вы будете делать?
Пахать, экономить (воровать, печатать деньга, заниматься политикой, искать философский камень и так далее) и копить, копить, копить. Пока либо сумма не будет достаточной, либо цель на хрен не нужной (в этом случае есть повод погулять под большое декольте за "несбычу мечт"). Вот и я, наивная русско-еврейская девочка, думала, что чтобы что-то купить, надо иметь деньги. А еще я свято верила, что долги — это очень и очень плохо. НИ ФИГА ПОДОБНОГО! Здесь все поставлено с ног на голову. Так вот, если вы хотите купить что-нибудь, дороже гамбургера, не вздумайте доставать толстую пачку зеленых сочно хрустящих портретиков — вас быстренько сдадут полиции. И правильно сделают, потому что вы либо наркодиллер, либо русская мафия, либо опасный для общества псих. А теперь внимание, барабанная дробь. Занавес! Для того, чтобы приобрести вожделенную "Тойоту" (это наша семейная ближайшая цель), нужно срочно влезать в долги. Это называется получать кредит. Но! Вы не являетесь урожденным американцем (они с долгами появляются на свет и в последний путь отправляются не за свой счет), и никто вам просто так кредит не даст. А он (кредит) жизненно необходим. Начинаем кусать локти и рвать волосы на. голове (а вы что подумали?). И тут выясняется, что ларчик просто открывается. Чтобы заиметь кредит надо положить в американский банк в качестве залога 500 баксов (SECURITY CREDIT), получить карточку на ту же сумму и старательно ее потратить, расплачиваясь безналом даже за рулон туалетной бумаги. В конце месяца вам приходит счет на, скажем, 300 долларов с пометкой, что вы можете заплатить только 20. Платите все 300. И повторяете весь цикл заново. Через три — пять месяцев банк присылает письмо, где весь рассыпается в благодарности за пунктуальность и точность в оплате и . вот оно. предлагает кредитную карточку на 700 долларов! Вы орете: "YES!" - прыгаете до потолка и веселитесь на вполне законных основаниях, потому что с этого момента вы настоящий член всеамериканского общества должников. Можно задирать нос, поплевывая на нелегалов-мексиканцев и сочувствовать собратьям эмигрантам, имеющим свой кэш, а при покупке чего-нибудь не очень серьезного типа компьютера или ТВ небрежно расплатиться первой в своей американской жизни кредиткой. Хотя окружающие вряд ли поймут отчего это джентельмен (или леди) так пыжится, и почему руки трясутся , вещи падают и голос предательски срывается на фальцет? Ведь для них наличие кредита такая же естественная вещь, как невозможность найти парковку возле пляжа в жаркий день, но в тот момент вы будете на вершине блаженства, потому что первый шаг на пути к американской мечте пройден и пройден успешно. Теперь главное холить и лелеять свой кредит, платить все счета во время, растить и пестовать свою кредитоспособность. И в один прекрасный день, накопив-таки DAWN-PAYMENT (типа как родной откат, только по закону и вам, или вашим потомкам его обязательно вернут) вы придете в свой банк просить LOAN (ссуду) на дом и обязательно его получите.

Наталия Гуревич, Калифорния, США, бывшая архангелогородка, специально для "ПРАВДЫ.Ру"

Фото: Giulia Marchi / Bloomberg

Основатель хедж-фонда Bridgewater Associates миллиардер Рэй Далио считает, что в период растущей инфляции инвесторам не стоит держать свои сбережения в кеше, так как это создает дополнительные риски для вложений. По его мнению, главной защитой для инвестора в таких условиях является диверсификация по классам активов, пишет CNBC.

«Наличные — это мусор. Не храните свои средства в наличных. Я думаю, самое главное, что может сделать частный инвестор или любой другой инвестор, — это правильно диверсифицироваться», — сказал он в программе Squawk Box в рамках конференции SALT.

Далио предложил инвесторам диверсифицировать свои вложения по странам, валютам, классам активов, после чего можно будет предпринимать тактические шаги. «Все эти классы активов будут превосходить наличные деньги», — добавил миллиардер.

Фото: Larry Busacca / Getty Images

Далио также указал, что как только Федеральная резервная система и другие центральные банки по всему миру начнут отказываться от чрезвычайно мягкой денежно-кредитной политики, акции как актив могут оказаться под давлением.

Схожего мнения придерживается и соучредитель инвестиционной компании PIMCO Билл Гросс, который долгое время был известен как «король облигаций». «Наличные деньги долгое время были мусором, но теперь появились новые претенденты на инвестиционный мусорный бак. Облигационные фонды, несомненно, находятся в этом мусорном контейнере, но последуют ли за ними акции? Рост прибыли должен быть двузначным и выше, иначе они тоже могут попасть в мусоровоз», — написал он в колонке в начале сентября.

ФРС уже на следующей неделе обсудит ускоряющуюся инфляцию и ситуацию с ростом экономики. На данный момент председатель Федеральной резервной системы Джером Пауэлл считает, что высокие темпы инфляции носят временный характер.

Фото:Shutterstock

Анализ событий, «распаковка» компаний, портфели топ-фондов — в нашем YouTube-канале


Кэш – это комплексная система. Соответственно, под разными углами результат может лежать как в действительной, так и в мнимой области. Очень важно понимать разницу между тем, что мы ждем и тем, что есть на самом деле.

Давайте прокрутим полный оборот ситуаций.

Итак, теперь мы хотим показывать на нашем сайте курс доллара к евро. Для этого нам нужно получить курс, поэтому на нашем сайте мы создаём API-обёртку для удобного использования:


И в шаблонах в нужном месте вставляем что-нибудь вроде:


(ну или даже <?=sprintf(".2f", get_current_rate("USD","EUR"))?> , но это прошлый век).

Вот тут на сцену выходит его величество Кэш

Зачем нам спрашивать курс для каждого пользователя на каждое обновление страницы, если для людей эта информация, в общем-то, не нужна так часто? Давайте просто ограничим частоту обновления до, например, раз в 5 секунд. Пользователи, переходя со страницы на страницу, всё равно будут видеть новое число, а мы платить будем в 1000 раз меньше.

Сказано – сделано! Добавляем несколько строчек:


Это самый главный аспект кэша: хранение последнего результата.

И вуаля! Сайт снова становится для нас почти бесплатным… До конца месяца, когда мы обнаруживаем от внешней системы счет на 4 евро. Конечно, не 6, но мы ожидали намного большей экономии!

К счастью, внешняя система позволяет посмотреть начисления, где мы видим всплески по 100 и более запросов каждые ровные 5 секунд в течение пиковой посещаемости.

Так мы познакомились со вторым важным аспектом кэша: дедупликацией запросов. Дело в том, что как только значение устарело, между проверкой наличия результата в кэше и сохранением нового значения, все пришедшие запросы фактически выполняют запрос к внешней системе одновременно.

В случае с memcache это можно реализовать, например, так:


И вот, наконец, потребление сравнялось с ожидаемым — 1 запрос в 5 секунд, расходы сократились до 2 евро в месяц.

Почему 2? Было 6 без кэширования для тысячи человек, мы же всё закэшировали, а сократилось всего в 3 раза? Да, стоило просчитать пораньше… 1 раз в 5 секунд = 12 в минуту = 72 в час = 576 за рабочий день = 17 тысяч в месяц, а ещё не все ходят по расписанию, есть странные личности заглядывающие поздней ночью… Вот и получается, в пике вместо сотни обращений одно, а в тихое время — по-прежнему запрос почти на каждое обращение проходит. Но всё равно, даже в худшем случае счёт должен быть 31×86400÷5 = 5.36 евро.

Так мы познакомились с еще одной гранью: кэш помогает, но не устраняет нагрузку.

Впрочем, в нашем случае люди приходят в проект и уходят и в какой-то момент начинают жаловаться на тормоза: страницы замирают на несколько секунд. А еще бывает под утро сайт не отвечает вообще… Просмотр консоли сайта показывает, что иногда днём запускаются дополнительные инстансы. В это же время скорость выполнения запросов падает до 5-15 секунд на запрос — из-за чего это и происходит.

Упражнение для читателя: посмотреть внимательно предыдущий код и найти причину.


Кстати, это грабли отнюдь не только кэша, это общий аспект распределённых блокировок: важно освобождать блокировки и иметь таймауты, во избежание дедлоков. Если бы мы добавляли "?" вообще без времени жизни, всё б замирало при первой же ошибке связи с внешней системой. К сожалению, memcache не предоставляет хороших способов для создания распределённых блокировок, использование полноценной БД с блокировками на уровне строк лучше, но это было просто лирическое отступление, необходимое просто потому, что на эти грабли наступили.

Итак, мы исправили проблему, вот только ничего не изменилось: всё равно изредка начинались тормоза. Что примечательно, они совпадали по времени с информационным бюллетенем от внешней системы о технических работах…

Ну-ка ну-ка… Давайте сделаем краткую передышку и пересчитаем, что мы насобирали уже сейчас, что должен уметь кэш:

  1. помнить последний известный результат;
  2. дедуплицировать запросы, когда результат еще или уже не известен;
  3. обеспечивать корректную разблокировку в случае ошибки.

Отсюда: кэш обязан уметь какое-то время хранить отрицательный результат. Наше наивное исходное предположение по сути подразумевает хранение отрицательного результата 0 секунд (но передачу этого самого отрицания всем, кто уже ждёт его). К сожалению, в случае с Memcache реализация нулевого времени ожидания весьма проблематична (оставлю как домашнее задание въедливому читателю; cовет: используйте механизм CAS; и да, в AppEngine можно использовать и Memcache и Memcached).

Мы же просто добавим сохранение отрицательного значения с 1 секундой жизни:


Казалось бы, ну теперь-то уже всё, и можно успокоиться? Как бы не так. Пока мы росли, наш любимый внешний сервис тоже рос, и в какой-то момент начал иногда тормозить и отвечать аж по секунде… И что примечательно – вместе с ним начал тормозить и наш сайт! Причем снова для всех! Но почему? Мы же всё кэшируем, в случае ошибок запоминаем ошибку и тем самым отпускаем всех ожидающих сразу, разве нет?

…А вот и нет. Внимательно посмотрим на код еще раз: запрос ко внешней системе будет исполняться столько, сколько позволит file_get_contents() . На время исполнения запроса все остальные ждут, поэтому каждый раз, когда кэш устаревает, все потоки ждут исполнения главного, и получат новые данные только, когда они поступят.

Что ж, мы можем вместо ожидания, добавить ветку else<> у условия вокруг memcache->add … Правда, стоит, наверное, вернуть последнее известное значение, да? Ведь мы кэшируем ровно затем, что мы согласны получить устаревшие сведения, если нет свежих; итак, еще одно требование к кэшу: пусть подтормаживает не более одного запроса.


Итак, мы снова победили: даже если тормозит внешний сервис, подтормаживает не более одной страницы… То есть как бы среднее время ответа сократилось, но пользователи всё равно немного недовольны.

Примечание: обычный PHP по умолчанию пишет сессии в файлы, блокируя параллельные запросы. Чтобы избежать этого поведения, можно передать в session_start параметр read_and_close либо принудительно закрывать через session_close сессию после совершения всех необходимых изменений, иначе тормозить будет не одна страница, а один пользователь: так как скрипт, обновляющий значение, будет блокировать открытие сессии другим запросом от того же пользователя. При исполнении на AppEngine по умолчанию включено хранение сессий в memcache, то есть без блокировок, поэтому будет проблема не так заметна.

Так вот, пользователи всё равно недовольны (ох уж эти пользователи!). Те, кто проводят времени больше всех на сайте, всё равно замечают эти короткие зависания. И их нисколько не радует осознание факта того, что так случается редко, и им просто не везёт. Придётся для данного случая сделать требование еще более жестким: никакие запросы не должны ждать ответа.

Что же мы можем сделать в такой постановке вопроса? Мы можем:

    Попытаться исполнить трюки «исполнение после ответа», то есть если мы должны обновить значение – регистрируем хендлер, который это сделает после исполнения всего остального скрипта. Вот только это сильно зависит от приложения и окружения исполнения; самый надёжный способ — использование fastcgi_finish_request() , требующий настройку сервера через php-fpm (соответственно, недоступен для AppEngine).

Итак, наш поставщик данных растёт, но не все его клиенты читают хабр, а потому они не используют правильного кэширования (если используют его вообще) и в какой-то момент начинают выдавать огромное количество запросов, из-за чего сервису становится плохо, и эпизодически он начинает отвечать не просто медленно, а очень медленно. До десятков секунд и более. Пользователи, конечно, быстро обнаружили, что можно нажать F5 или иначе перезагрузить страницу, и она появляется моментально – вот только страница снова начала упираться в бесплатные пределы, так как постоянно начали висеть процессы, просто ожидающие внешний ответ, но потребляющие наши ресурсы.

В числе прочих побочных эффектов участились случаи показа устаревшего курса. [Мда… в общем, представьте, что мы сейчас говорим не про наш случай, а про что-нибудь более сложное, где устаревание видно невооруженным глазом :) на самом деле, даже в простом случае обязательно найдётся пользователь, который заметит такие совершенно неочевидные косяки].
Смотрите, что получается:

  1. Пришел запрос 1, данных в кэше нет, так что добавили маркер '?' на 5 секунд и пошли за курсом.
  2. Спустя 1 секунду пришел запрос номер 2, увидел маркер '?', вернул данные из stale записи.
  3. Спустя 3 секунды пришел запрос номер 3, увидел маркер '?', вернул stale.
  4. Спустя 1 секунду маркер '?' устарел, несмотря на то, что запрос 1 всё еще ждет ответа.
  5. Спустя еще 2 секунды пришел запрос номер 4, маркера нет, добавляет новый маркер и отправляется за курсом.
  6. Запрос 1 получил ответ, сохранил результат.
  7. Пришел запрос X, получил актуальный ответ из кэша 1-го вопроса (а когда пришел тот ответ? На момент запроса, или момент ответа? –, этого никто не знает…).
  8. Запрос номер 4 получил ответ, сохранил результат – причем снова непонятно, был ли этот ответ более новый или более старый.

Итак, давайте подведём промежуточный итог. В бытовом понимании кэш:

  1. заменяет большинство запросов на получение уже известного ответа;
  2. ограничивает число запросов к получению дорогих данных;
  3. делает время запросов невидимыми для пользователя.
  1. заменяет некоторые запросы из окна жизни кэша на запомненные значения (кэш может потеряться в любой момент, например, из-за нехватки памяти либо экстравагантных запросов);
  2. пытается ограничить число запросов (но без специальной имплементации ограничения частоты исходящих запросов, реально можно обеспечить только характеристики типа «максимум 1 исходящий запрос в один момент времени»);
  3. время исполнения запроса видимо только некоторым пользователям (причем распределены «счастливчики» отнюдь не равномерно).
  • кэш может быть потерян в любой момент времени. Даже наши маркеры блокировки исполнения '?' могут быть потеряны, если параллельно еще 10 тысяч пользователей гуляет по сайту, все сохраняя что-то (зачастую время последнего обращения на сайт) в сессию, которая лежит на том же кэш-сервере; после того как маркер потерян («кэш отравлен»), следующий запрос опять начнёт процедуру обновления значения в кэше;
  • чем быстрее исполняется запрос в удалённой системе, тем меньше запросов будет дедуплицировано в случае отравления кэша.

Рассмотрим простейший случай:

  • Мы смотрим на систему в спокойном состоянии, и видим среднее время исполнения 0.05 сек.
  • Вывод: 1 процесс может обслужить 20 запросов в секунду, значит, для 100 запросов в секунду достаточно 5 процессов.
  • Вот только если время обновления запроса возрастает до 2 секунд, то получается:
  • 1 процесс занят обновлением (в течение 2 секунд);
  • в течение этих 2 секунд у нас доступно только 4 процесса = 80 запросов в секунду.

3600. Что означает, что если отравление наступило на 5000 запросах в минуту, до тех пор, пока нагрузка не упадёт с 5000 до 3000 система нестабильна. То есть любой (даже пиковый!) всплеск трафика потенциально может вызвать длительную нестабильность системы.

Особенно прекрасно это смотрится, когда после новостной рассылки с какими-либо новыми функциями практически одновременно приходит волна пользователей. Эдакий маркетологический хабраэффект на регулярной основе.

Всё это не означает, что кэш нельзя или вредно использовать! О том, как правильно применять кэш для улучшения стабильности системы и как восстанавливаться от вышеупомянутой петли гистерезиса, мы поговорим в следующей статье, не переключайтесь.

Читайте также: