|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Суть в следующем: Хочу заюзить Redis в качестве кэша, но в качестве ключа получается длинная строка, может быть даже до 1024 байт, грубо говоря. Как строить быстрый хэш по таким строкам длиной до 2К? Но хотелось бы, чтобы однозначный. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 18:01 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Написал, но потом сильно начал думать лонг не обязательно, может быть строка, лишь бы короче оригинальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 18:02 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Winnipuh, а почему именно строка? Чем Guid не устроил? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 18:04 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Winnipuhно в качестве ключа получается длинная строка, может быть даже до 1024 байт а не преждевременна ли оптимизация? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 19:06 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
AxeleronWinnipuh, а почему именно строка? Чем Guid не устроил? приложение формирует строку: key=строка1 field value key=строка2 field value .. key=строкаN field value И строки могут быть(!) длинными. Вот я и пытаюсь как-то сплющить. Но нужно, чтобы другое приложение для запроса из кэша по той же строке сфромировало такую же соответствующую хэш строку. ключ - это сборняк скажем такой: [sql server:database name:username:query] а в качестве значения надо хранить результат поискового запроса. Вот из за query может быть длинным ключ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 19:23 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
ИзопропилWinnipuhно в качестве ключа получается длинная строка, может быть даже до 1024 байт а не преждевременна ли оптимизация? правильно, но с другой стороны - а когда? редисы рекомендуют чтобы ключ был покороче. я описал в пред посту, что за ключи. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 19:24 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Winnipuhправильно, но с другой стороны - а когда? когда проблемы начнутся с памятью или временем выборки вот тогда и прикручивай MD5 или SHA2 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 20:02 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
если речь идет про базу данных, то там есть функции для получения CRC как вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 20:19 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
ИзопропилWinnipuhправильно, но с другой стороны - а когда? когда проблемы начнутся с памятью или временем выборки вот тогда и прикручивай MD5 или SHA2 ок, согласен, это вариант 1. Но извечная тяга к знаниям движет мною ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 21:05 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
Winnipuh, коллизий в SHA2 опасаешься? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2015, 21:22 |
|
Как сделать преобразование строка->лонг?
|
|||
---|---|---|---|
#18+
ИзопропилWinnipuh, коллизий в SHA2 опасаешься? ну, не знаю, в моем случае нужно 1:1, при коллизиях можно было бы в SQL Server выбрать и потом еще раз выбрать, а в redis не разгонишься, надо точный ключ указывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2015, 11:12 |
|
|
start [/forum/topic.php?fid=20&msg=38990085&tid=1401414]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 330ms |
total: | 457ms |
0 / 0 |