I am confused about session,memcached/redis.
I often store the login infor into a memcached server or a redis, and then could we call that is a session?
if not,what does a session point and what's the
difference between memcached/redis and session? I have looked up into google,but I can not understand it still.
So,could you do me a favor? Thanks in advance!
Append:
I am a new fish on HTTP, and if this question makes you unhappy, you'd better to forget it. LOL...
1
flyingghost 2017-12-11 15:22:39 +08:00 10
session 是一种意图,一种妄图在无状态的 HTTP 里标记每个 client 状态的意图。
这个意图的实现需要 6 个组成步骤: 1,server 生成标明 client 的标记。(用什么方式标明?例:session 对象及其 sessionID ) 2,把这个标记存储在 server 端。(存在哪里?例:磁盘文件) 3,把这个标记发往 client。(通过什么方式发送?例:Set-Cookie 头) 4,client 存储这份标记。(如何存储?例:Cookie 存储) 5,client 下次请求的时候,携带这份标记。(如何确保自动携带?通过什么东西承载?例:Cookie 头) 6,server 端根据标记去 2 里面找到对应的 client。 session 是一种机制。 而 redis/memcache 只是用来存储标记的位置而已,他们只负责第 2 点部分。 |
2
shanechiu OP @flyingghost Well, I agree with you on session is an intention and it is also a mechanism. But, I wonder know who carries out the first step. A web server,like Nginx, Apache HTTP or others?
|
3
dcll222 2017-12-11 15:38:01 +08:00
session 是数据, redis/memcached 是存储数据的手段
|
4
leetom 2017-12-11 15:39:48 +08:00 1
@shanechiu Web 服务器不负责生成,是你的应用生成的。没有 Session, 所有的 HTTP 功能都能正常工作,只是服务器不知道对方是谁了。甚至你可以自己通过 token 来模拟 session 的所有功能。
另外,英语不好为啥不用中文呢 orz |
5
flyingghost 2017-12-11 15:40:07 +08:00
@shanechiu 一般是应用服务器。例如:PHP、Tomcat 等。nginx 一般不管这事。
|
6
Cooky 2017-12-11 15:40:38 +08:00 via Android
装老外 666
|
7
shanechiu OP @leetom Well,I also know my English poor, and I am doing my best to improve it. Applying is a basic way to perfect my English, isn't it? But,thank you all the same.
|
8
oott123 2017-12-11 15:49:28 +08:00 3
如果楼主是想练习英文,可以考虑去 reddit 之类的英文社区逛逛。请你在达成“练习自己的英文水平”目的的同时,也考虑下这个社区其它人的感受,毕竟这是一个中文社区。更何况你在期望其他人给你回答,更应该站在别人的角度多多考虑一下。
至于楼主的问题 1L 已经解释得十分清楚了。 |
9
shanechiu OP @oott123 if you do not like it, just ignore it. Thanks all the same.
|
10
oott123 2017-12-11 15:53:37 +08:00 2
@shanechiu #9 并不是「我」不喜欢。
事实上我对你或者这个帖子本身并没有什么特别的看法,只是在提醒你这样的行为在一个公共社区并不合适,以免你遗漏这一点。这是个公序良俗的问题。 当然你听不听也随意,如果你不喜欢这种意见一样可以忽略我。 |
12
520671 2017-12-11 16:03:24 +08:00
Alternatively, we could also remind you to stop being an ignorant idiot.
Thanks all the same. |
14
520671 2017-12-11 16:09:09 +08:00
> Well,I wouldn't like to make a argument.
^[0] Oh sure you did. If you want to take a stance and ask others to be quiet for disagreeing with you, surely your actions speak louder than your words. [0] https://www.englishpage.com/articles/a-vs-an.htm |
16
orzfly 2017-12-11 16:13:15 +08:00 3
|
18
wxsm 2017-12-11 16:25:23 +08:00 1
小建议:如果你想更好地学习英文,请直接去英文社区,提问上 StackOverflow 嘛。不比在这里发个英文帖然后底下一堆中文回复的好吗?
|
19
fml87 2017-12-11 16:34:15 +08:00 1
英文标点后面要加空格
|
20
kkzxak47 2017-12-11 17:02:21 +08:00 via Android 1
遇到 2 楼是你的福气,好好感谢他
|
21
kkzxak47 2017-12-11 17:05:16 +08:00 via Android
也有客户端存储的 session,比如存在 cookie 里。
session 实现机制五花八门,重要的是理解 session 的本质: 在一个没有上下文的环境里试图恢复上下文 |
22
shanechiu OP @kkzxak47 yep,flyinghost is nice and patient.
|
23
beastk 2017-12-11 18:49:46 +08:00 via iPhone
楼主你要是中国人,那么请用中文,如果你是老外,我们一点意见都没有,还会夸赞你好学。谢谢。
|
24
bxb100 2017-12-11 19:09:53 +08:00 via Android
你是询问别人,那么尊重被询问人的建议也是应该的,键盘侠路过
|
29
flyico 2017-12-11 19:25:46 +08:00 via iPhone 1
想练英文应该去 SO 或者 Reddit 在中文网站上用英文纯属装 B 而且只会越来越 Chinglish
|
30
huangsw 2017-12-11 19:29:03 +08:00 1
心疼楼主 1s. The end. LOL
|
31
shanechiu OP @Livid 所以,能请教一下吗?我该怎么转变我这种中式英语或者说中式思维了,因为确实学英语没多久,大概两个月吧?刚看了一些语法书,然后尝试着去造了句子.我也知道自己输入的不够,但是我的确想掌握英语,毕竟刚学的东西容易忘,如果要掌握的法就是用。我目前确实没有太多机会去给人写 email 或者直接沟通?我目前还没有找到比较好的方法,我能做的是造句。你如果你有比较好的方法,那么可以推荐给我吗?
|
35
mingyun 2018-01-09 23:25:51 +08:00
1 楼正解
|