вопрос с memcached_get () в libmemcached - PullRequest
       7

вопрос с memcached_get () в libmemcached

1 голос
/ 20 сентября 2010
memcached_get (memcached_st *ptr,
               const char *key, size_t key_length,
               size_t *value_length,
               uint32_t *flags,
               memcached_return_t *error);

Зачем здесь передавать параметры "size_t key_length" и "size_t * value_length"?Я думаю, что значение может быть получено напрямую по ключу.

, который может помочь мне объяснить причину, спасибо.

1 Ответ

3 голосов
/ 24 ноября 2010

Ключевой параметр - это указатель на идентификатор для информации, которую вы хотите получить из memcache. Key_length сообщает функции memcached_get (), как долго будут длиться данные вашего идентификатора.

Если бы API libmemcache предполагал, что данные, на которые указывает параметр ключа, были строкой символов с нулевым символом в конце, нам не нужно было бы также передавать параметр key_length. Но не делая этого предположения, API позволяет нам использовать данные, отличные от NULL-терминированных строк символов, в качестве ключей (например, строки UTF-16 или двоичные числа).

...