Mike Jr
Mike Jr

Reputation: 175

ColdFusion Client Storage

In a high load application, is it better to put the client storage in the Registry or in a database? I am concerned that my high load will cause more database connections for client storage information and slow everything down. FYI: We use ColdFusion on Linux

Thoughts?

Upvotes: 1

Views: 2840

Answers (5)

Darrell Miller
Darrell Miller

Reputation: 1

only use client cookie as storage. in my experience registry is out of the question should not even be an option imo. database storage eventually gets so large that you get performance issues.

cookie based is the most scaleable especially for large websites.

Upvotes: 0

Richard Davies
Richard Davies

Reputation: 438

From http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=ColdFusion_Documentation&file=00001154.htm

"Generally, it is most efficient to store client variables in a database. Although the Registry option is the default, the Registry has significant limitations for client data storage. The Registry cannot be used in clustered systems and its use for client variables on UNIX is not supported in ColdFusion MX."

Upvotes: 2

Jayson
Jayson

Reputation: 2031

If you are using client storage on linux, then the registry is out of the question since its use on *nix is not supported in ColdFusion.

Your only other options are a database or cookies.

Cookies will have limitations depending on the browser the user is using, if the user has cookies enabled or disabled, as well as security implications depending on what you are using the client storage for.

The database will most likely be the most efficient solution for client storage and scale out to clusters if high load is your concern.

Upvotes: 0

Henry
Henry

Reputation: 32905

database for sure. IMO registry is only viable when it is an intranet, internal system with < 20 users.

Upvotes: 0

andrewWinn
andrewWinn

Reputation: 1786

If you store client variables in the registry (IMHO), you will have more of a performance impact with a high load. When Coldfusion stores the client variables in the DataBase, they are read at the beginning of the page request, and then after the page is complied, they are re-stored in the database. If you have connection pooling turned on in the administrator, this can be a very effective way to store the variables.

See: http://www.coldfusionmuse.com/index.cfm/2009/7/8/client.variables.reserved.word

Upvotes: 5

Related Questions