2014-08-28 5 views
0

Я пытаюсь выяснить, есть ли способ, которым я мог бы технически сохранить указатель в memcached, который я могу использовать позже. Например, в настоящее время у меня есть код, который отслеживает информацию о пользователях, подключенных через сокеты. Каждый пользователь отслеживает структуру, содержащую сокет fd и имя пользователя. Я хотел бы иметь возможность хранить указатель этой структуры в данных в memcached, чтобы затем искать пользователя по имени (поиск ключа) и извлекать указатель на структуру, связанную с этим пользователем, а затем передавать его функции, ожидающей указатель. Возможно ли это, и если да, то как мне это сделать? Я борется с типом кастинга и продолжаю изучать C. Спасибо за любую помощь.Сохранение указателей в memcached

+0

Это, безусловно, должно быть возможно (указатель - это просто число, в конце концов), но учитывая, что указатели действительны только в том процессе, в котором они были созданы (запрещающие случаи, такие как блоки разделяемой памяти, где вы могли бы просто использовать смещения) странно предлагать отправить их в какой-то другой процесс, который будет рассмотрен позже. Почему бы просто не держать указатели в этом процессе? Может быть, вы хотите поставить фактическую структуру в memcached? –

ответ

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^