Comments (2)
Locking only happens per session
, it has no impact on other sessions. Whenever you use session for writing, you should call session:start
as late as possible and after that session:save
as soon as possible. Right now if you open session for reading with session:open
, and that will also do locking
(if enabled). For that we need to add session:close
(that we don't currently have). So then you could use patterns:
local s = session.start()
-- read and/or write
s:save() -- or perhaps s:destroy()
And
local s = session.open()
-- read-only
s:close()
I will add that soon. But for your use case, you cannot really make two parallel request without any locking, and because your another call may change the session, you need to update second one to send that updated session cookie (browsers do this automatically). In general you should minimize the places where you change session data, and often you should store bare minimum in session (such as user_id
).
You can always use cookie
storage (which is default). That is always lockless.
from lua-resty-session.
Closing this as close
was added long time ago.
from lua-resty-session.
Related Issues (20)
- Chunked cookies not cleared properly when session is modified and saved again HOT 2
- Chunked cookies are not expired when session shrinks, leaving unwanted data on client HOT 4
- Detect if decryption of cookie failed HOT 1
- Questions about session expiry HOT 2
- Is it possible to specify session id to delete a session? HOT 5
- The session secret and the worker processes HOT 1
- redis get session id / retrieve & decode session content
- Inconsistency in session.start() return values HOT 1
- Session save have no effect after output ?
- prob setting a compressor (zlib) HOT 3
- module 'lua_pack' not found HOT 4
- Session `audience` and `subject` semantics clarifications HOT 2
- Question about `rolling_timeout` HOT 4
- Random SSL error HOT 6
- Does not match state restored from session
- DSHM useless call to setmetadata when pool is specified HOT 1
- What determines session cookie size? HOT 3
- Support etcd as storage HOT 1
- New session cannot be destroyed HOT 7
- undefined symbol: FIPS_mode HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lua-resty-session.