Как я могу уменьшить размер ключа memcached, используя кодировку base64?

StackOverflow https://stackoverflow.com//questions/24037946

Вопрос

Здесь вы можете читать:

64-разрядные UID - это умные способы идентификации пользователя, но при распечатке они не работают.18446744073709551616.20 символов! Использование кодировки base64, или даже просто шестнадцатеричный, вы можете сократить это совсем немного Блок-цитата

но, насколько я знаю 18446744073709551616 приведет к увеличению размера строки, если она закодирована с использованием База 64.Я знаю, что я что-то упускаю, потому что эти люди с memecached умны, и в документе они не раз упоминали, что использование База 64 кодирование может быть использовано для улучшения ключа перед сохранением его в memcahed.Как это?

Это было полезно?

Решение

То, на что вы смотрите, - это, по сути, десятичный представление в 64 бита.Вероятно, они говорят о кодировании базовых битов непосредственно в Base64 или hex, вместо кодирования десятичного представления битов.По сути, они просто говорят о размерах алфавита.Чем больше алфавит, тем короче строка:

64 бита в виде битов (алфавит из 2, 0 или 1) составляет 64 символа
64 бита в виде десятичной дроби (алфавит из 10, 0 - 9) составляет 20 символов
64 бита в шестнадцатеричном формате (алфавит из 16, 0 - F) состоит из 16 символов
и т.д...

Другие советы

Не угроза UID, как строка, используйте довольно 64 бит численное представление.Это займет ровно 64 бит или 8 байтов.Кодирование 8 байтов с использованием шестнадцатеричных данных приведет к строке, как «FF1122EE44556677» - 16 байтов.Использование кодировки Base64 Вы получите еще более короткую строку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top