You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-users@jakarta.apache.org by Chopin hu <hu...@yahoo.com> on 2012/01/04 18:12:09 UTC

JCS Key Length Issue -- limited to 256 characters long?

I have a program to download files from remote sites.   Once downloaded a data file, I use the URL as a key and put it to the cache so that I don't have to download it again if the url is found to exist in the cache.   However, I found sometimes the caching would fail -- no caching is put to the file system ( I am using Disk File Cache).   the url is working fine for downloading.   After debugging, it turns out that the URL string is too long.   When the url string exceeds 256 characters, JCS won't accept it as a proper key.   

So my questions are:
1.) is a JCS cache key limited to 256 chars long?   is there a way to increase its length?
2.) If can not get around the cache key length limitation, what could be the possible ways to make a long URL string short enough but still unique enough to serve as a key?  I tried to use the last 256 characters from the url string, but some query string is so long that it could not guarantee a key's uniqueness.

Any suggestions.

Re: [JCS] Re: JCS Key Length Issue -- limited to 256 characters long?

Posted by Chopin hu <hu...@yahoo.com>.
good point.   too focused on jcs     not realizing it is a file system issue.

--- On Thu, 1/5/12, Thomas Vandahl <tv...@apache.org> wrote:

From: Thomas Vandahl <tv...@apache.org>
Subject: [JCS] Re: JCS Key Length Issue -- limited to 256 characters long?
To: user@commons.apache.org
Cc: "JCS Users List" <jc...@jakarta.apache.org>
Date: Thursday, January 5, 2012, 4:48 AM

First of all: Please use user@commons.apache.org for questions regarding
JCS.

On 04.01.12 18:12, Chopin hu wrote:
> I have a program to download files from remote sites.   Once downloaded a data file, I use the URL as a key and put it to the cache so that I don't have to download it again if the url is found to exist in the cache.   However, I found sometimes the caching would fail -- no caching is put to the file system ( I am using Disk File Cache).   the url is working fine for downloading.   After debugging, it turns out that the URL string is too long.   When the url string exceeds 256 characters, JCS won't accept it as a proper key.   
> 
> So my questions are:
> 1.) is a JCS cache key limited to 256 chars long?   is there a way to increase its length?
> 2.) If can not get around the cache key length limitation, what could be the possible ways to make a long URL string short enough but still unique enough to serve as a key?  I tried to use the last 256 characters from the url string, but some query string is so long that it could not guarantee a key's uniqueness.

I guess the FileDiskCache is the issue here. The key of the item in
FileDiskCache is directly used as a file name. So what you experience is
a limit of file name length rather than key length.

You should better use another disk cache implementation such as
IndexedDiskCache which does not have such limits.

Bye, Thomas.

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Re: [JCS] Re: JCS Key Length Issue -- limited to 256 characters long?

Posted by Chopin hu <hu...@yahoo.com>.
good point.   too focused on jcs     not realizing it is a file system issue.

--- On Thu, 1/5/12, Thomas Vandahl <tv...@apache.org> wrote:

From: Thomas Vandahl <tv...@apache.org>
Subject: [JCS] Re: JCS Key Length Issue -- limited to 256 characters long?
To: user@commons.apache.org
Cc: "JCS Users List" <jc...@jakarta.apache.org>
Date: Thursday, January 5, 2012, 4:48 AM

First of all: Please use user@commons.apache.org for questions regarding
JCS.

On 04.01.12 18:12, Chopin hu wrote:
> I have a program to download files from remote sites.   Once downloaded a data file, I use the URL as a key and put it to the cache so that I don't have to download it again if the url is found to exist in the cache.   However, I found sometimes the caching would fail -- no caching is put to the file system ( I am using Disk File Cache).   the url is working fine for downloading.   After debugging, it turns out that the URL string is too long.   When the url string exceeds 256 characters, JCS won't accept it as a proper key.   
> 
> So my questions are:
> 1.) is a JCS cache key limited to 256 chars long?   is there a way to increase its length?
> 2.) If can not get around the cache key length limitation, what could be the possible ways to make a long URL string short enough but still unique enough to serve as a key?  I tried to use the last 256 characters from the url string, but some query string is so long that it could not guarantee a key's uniqueness.

I guess the FileDiskCache is the issue here. The key of the item in
FileDiskCache is directly used as a file name. So what you experience is
a limit of file name length rather than key length.

You should better use another disk cache implementation such as
IndexedDiskCache which does not have such limits.

Bye, Thomas.

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


[JCS] Re: JCS Key Length Issue -- limited to 256 characters long?

Posted by Thomas Vandahl <tv...@apache.org>.
First of all: Please use user@commons.apache.org for questions regarding
JCS.

On 04.01.12 18:12, Chopin hu wrote:
> I have a program to download files from remote sites.   Once downloaded a data file, I use the URL as a key and put it to the cache so that I don't have to download it again if the url is found to exist in the cache.   However, I found sometimes the caching would fail -- no caching is put to the file system ( I am using Disk File Cache).   the url is working fine for downloading.   After debugging, it turns out that the URL string is too long.   When the url string exceeds 256 characters, JCS won't accept it as a proper key.   
> 
> So my questions are:
> 1.) is a JCS cache key limited to 256 chars long?   is there a way to increase its length?
> 2.) If can not get around the cache key length limitation, what could be the possible ways to make a long URL string short enough but still unique enough to serve as a key?  I tried to use the last 256 characters from the url string, but some query string is so long that it could not guarantee a key's uniqueness.

I guess the FileDiskCache is the issue here. The key of the item in
FileDiskCache is directly used as a file name. So what you experience is
a limit of file name length rather than key length.

You should better use another disk cache implementation such as
IndexedDiskCache which does not have such limits.

Bye, Thomas.

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


[JCS] Re: JCS Key Length Issue -- limited to 256 characters long?

Posted by Thomas Vandahl <tv...@apache.org>.
First of all: Please use user@commons.apache.org for questions regarding
JCS.

On 04.01.12 18:12, Chopin hu wrote:
> I have a program to download files from remote sites.   Once downloaded a data file, I use the URL as a key and put it to the cache so that I don't have to download it again if the url is found to exist in the cache.   However, I found sometimes the caching would fail -- no caching is put to the file system ( I am using Disk File Cache).   the url is working fine for downloading.   After debugging, it turns out that the URL string is too long.   When the url string exceeds 256 characters, JCS won't accept it as a proper key.   
> 
> So my questions are:
> 1.) is a JCS cache key limited to 256 chars long?   is there a way to increase its length?
> 2.) If can not get around the cache key length limitation, what could be the possible ways to make a long URL string short enough but still unique enough to serve as a key?  I tried to use the last 256 characters from the url string, but some query string is so long that it could not guarantee a key's uniqueness.

I guess the FileDiskCache is the issue here. The key of the item in
FileDiskCache is directly used as a file name. So what you experience is
a limit of file name length rather than key length.

You should better use another disk cache implementation such as
IndexedDiskCache which does not have such limits.

Bye, Thomas.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org