Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 超过memcached密钥长度限制的URL_Java_Url_Hash_Memcached - Fatal编程技术网

Java 超过memcached密钥长度限制的URL

Java 超过memcached密钥长度限制的URL,java,url,hash,memcached,Java,Url,Hash,Memcached,我使用memcached将编码的url存储为键,将java对象存储为值。如果编码的url超过250个字符的长度(memcached的密钥限制),我会放弃它,因为截断url是不可取的。但是我想使用我收到的所有URL,不管它们的长度如何。因此,我正在考虑为url创建MD5哈希(不进行编码),并将其用作键,并将原始url存储在Java对象中的值部分 但是,我收到的URL包含所有类型的字符,如空格或unicode字符,对它们进行编码会显著增加它们的长度 有没有更好、更有效的方法来处理这种情况?我需要的过

我使用memcached将编码的url存储为键,将java对象存储为值。如果编码的url超过250个字符的长度(memcached的密钥限制),我会放弃它,因为截断url是不可取的。但是我想使用我收到的所有URL,不管它们的长度如何。因此,我正在考虑为url创建MD5哈希(不进行编码),并将其用作键,并将原始url存储在Java对象中的值部分

但是,我收到的URL包含所有类型的字符,如空格或unicode字符,对它们进行编码会显著增加它们的长度

有没有更好、更有效的方法来处理这种情况?我需要的过程是快速的,避免碰撞(一个罕见的将是好的)。
提前感谢。

您不能将URL放在表中,并使用主键作为memcache键吗?我不需要保存URL。我只需要将它们缓存几个小时,然后使用存储在相应Java对象中的值。检查这是否可以帮助您缩短URL。我认为创建url哈希比上面链接中提到的要简单。你不能将url放在一个表中,并使用主键作为memcache键吗?我不需要持久化url。我只需要将它们缓存几个小时,然后使用存储在相应Java对象中的值。检查这是否可以帮助您缩短URL。我认为创建url哈希比上面的链接中提到的要简单。