Array
(
)

Dúvida: Limite de dados de uma session

Twitter/@caiouechi
   - 26 nov 2012

Galera qual é a capacidade maxima que uma session aguenta? (Aliás, tem limite??)
Eu estou populando uma session com um uma coleção de 5 mil objetos tipados, queria saber se isso causa muita lentidão como é o comportamento...

Robson Robsonalves.net
   - 26 nov 2012

Sinceramente sobre quantidade de informações armazenadas eu acredito que não tenha.

O TimeOut da Session por padrão é de 20 minutos (tempo definido pelo IIS).
Você pode aumentar esse tempo;

Agora sobre performance é complicado, pois quantas pessoas ira acessar a aplicação ao mesmo tempo?

Quanto de informação máxima irá armazenar?

È realmente necessário armazenar tanta informação na session?

Em fim, o melhor é ver como não utilizar a session como armazenador e buscar outra forma.

Twitter/@caiouechi
   - 26 nov 2012

hmmm beleza! Rs!!

eu acho que não tem limite de capacidade mesmo! Rs!

Valter Furtado
   - 27 nov 2012

o ideal é como foi dito buscar outras solução e deixar a sessão mais limpa pois ela pode pesar a aplicação dependendo da quantidade de usuários.

Por que não faz algo do tipo, um cookie quando o navegador permitir e session quando não permitir cookie!?

Ou então... uma vez fiz em um sistema assim, o cara logava no sistema, eu checava em uma pasta se existia o XML com o id dele, caso existisse então convertia em objeto e comparava com o objeto que trouxe do BD, se o do banco fosse diferente atualizava o XML e salvava e então a partir daí eu só consumia o XML, a session tinha poucas informas e apenas coisas básicas.

Julio Medeiros
   - 23 nov 2013

Pessoal também tinha a mesma dúvida ao chegar aqui,
o que preciso é o seguinte...
tenho uma tabela no meu banco que grava os formulário que um usuário tem acesso.
e o que ele pode fazer no formulário.

coisa básica (formulário,criar,edit,deletar)

todo formulário que o usuário acessa eu mando verificar se ele tem permissão e isso funciona blz
mas estou achando que seria melhor carregar todas as permissões no login e salvar em uma sessão.

minha sessão ficaria assim

(frmclientes,true,true,true)
(frmfuncionarios,true,true,true)
(frmprodutos,true,true,false)
...
....
....
....

assim não preciso ir ao banco de dados em todos os fomulários ou sempre que carregar o formulário conectar no banco novamente pra verificar as permissões.

apenas vejo qual linha da sessão esta o formulário e pego as permissões.

creio que vai ter no máximo 20 linhas fica muito pesado?
como adicionar linhas a uma sessao?