Далли только кеширует строки? (новичок в memcache)
Если это так, то лучше ли хранить вещи как JSON?
Я посмотрел в документации, но это явно не признается.
2 ответа
Далли использует Marshal.dump
чтобы сериализовать значения, вы можете хранить любую вещь, которая может быть выгружена (например, procs не может быть выгружен в большинстве реализаций ruby.
Лично я предпочитаю хранить только массивы, хэши, строки, числа и их комбинации.
Хранение произвольных объектов может быть неэффективным (например, объект activerecord имеет несколько копий своих атрибутов в своих переменных экземпляра).
Другая потенциальная проблема - если вы сохраняете экземпляр класса и позже переименовываете этот класс - вы больше не сможете извлечь это значение из кэша, поскольку в кэшированных данных все еще есть старое имя класса.
memcache может кэшировать все, что можно сериализовать, так что даже Далли делает.