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