У меня есть система, которая имеет дело с ключами, которые были превращены в целые числа без знака (путем сложения коротких последовательностей в байтовые строки). Я хочу попытаться сохранить их в Redis, и я хочу сделать это наилучшим образом. Моя забота - в основном эффективность памяти.
От игры с онлайн-REPL я заметил, что два следующих идентичны
zadd myset 1.0 "123"
zadd myset 1.0 123
Это означает, что даже если я знаю, что хочу сохранить целое число, оно должно быть задано как строка. Я заметил из документации, что ключи просто хранятся как char*
, а команды, такие как SETBIT, указывают, что Redis не прочь обрабатывать строки как bytestrings в клиенте. Это указывает на несколько более эффективный способ хранения unsigned long
, чем как их строковое представление.
Каков наилучший способ хранения unsigned long
в отсортированных наборах?