Например, here описывается autosave в Wordpress. Мое мнение таково, что зависит от типа приложения. Лучший способ найти лучшее решение - это, как мне кажется, тот способ, который вы хотели бы увидеть, если вы посетите какой-то сайт.
Итак, если вы помещаете куда-нибудь кнопку «Сохранить», то я думаю, что вам действительно не нужно запускать ее каждые несколько секунд, но каждые несколько минут (например, Wordpress).
Поскольку вы будете слушать события на клиентском языке (возможно, JavaScript), вам не нужно беспокоиться о производительности - просто слушайте каждые 10 секунд, если хотите, и проверьте, удовлетворяются ли требования для автосохранения. Если они есть, вы сохраняете его в некоторой базе данных с помощью некоторой магии AJAX.
Если бы я был вами (или, если я являюсь пользователем вашего сайта), я бы хотел начать прослушивание событий на первом ключе. Когда я ввел первую букву, JS будет хранить в БД через AJAX через каждые 1 минуту или каждые 500-1000 символов, независимо от того, что встречается впервые. Я думаю, было бы здорово принять во внимание, что кто-то быстрее, кто-то медленнее. Вот почему я бы проверил как количество введенных символов, так и время.
Это мое мнение. (в конце концов извините за грамматику, бесплатно для редактирования: D)
EDIT: Кроме того, если сайт принадлежит вам, и вы ожидаете большого трафика и большого количества пользователей, вы можете динамически видеть, как работает система, и соответственно установить свои переменные (дольше/short time/chars)
Я бы подумал, что второй вариант будет лучшим способом. Первый вариант также будет работать, но если он был основан на событии клавиатуры, пользователь может несколько раз нажимать тот же ключ, чтобы сохранить/разорвать приложение. Может быть, это может помочь? http://paulirish.com/2009/jquery-idletimer-plugin/ – SpaceCowboy
Интересный плагин jQuery. Это может помочь. Thx – benweet