Твиттер Курсоры - PullRequest
7 голосов
/ 14 марта 2011

Измените страницу «курсоры» в Twitter Api.Под этим я подразумеваю, что если идентификатор курсора для второй страницы результатов был 123456789, он все равно будет оставаться неизменным каждый раз или будет меняться.

Например, если

http://api.twitter.com/1/followers/ids.json&screen_name=XXXXXXX&cursor=123456789

возвращает последователей X, Y, Z для пользователя XXXXXXX, будет ли он всегда возвращать X, Y, Z (при условии, что X, Y, Z все еще следует за этим пользователем)

1 Ответ

7 голосов
/ 15 марта 2011

Курсоры по существу не меняются.

Курсор - это непрозрачный индекс, устойчивый к удалению, в Btree с ключом идентификатора пользователя и времени модификации.Это приводит вас к моменту времени в списке, отсортированном по обратному хронографу.Так что, поскольку вы не можете изменить прошлое, кроме как стереть его, оно эффективно стабильно.(Изменения всплывают наверх.) Но вам приходится иметь дело с дополнениями в начале списка, а также с сокращением блоков из-за удалений, поэтому ваши блоки начинают довольно сильно перекрываться по мере старения данных.(Если вы кэшируете курсоры и читаете намного позже, вы увидите первые несколько строк блока курсора [n + 1] как дубликаты последних строк блока курсора [n]. Мощность пересечения равнаколичество удалений в блоке курсора [n]).Тем не менее, может иметь смысл кэшировать эти курсоры и затем эвристически перебалансировать их, когда пропорция перекрытия пересекает некоторый порог.

https://groups.google.com/forum/#!msg/twitter-development-talk/cStHZQKNUnw/1ucp0gfwWvAJ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...