Как я могу уменьшить размер ключа memcached, используя кодировку base64?
-
21-12-2019 - |
Вопрос
Здесь вы можете читать:
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 Вы получите еще более короткую строку.