PHP存进redis的session数据为什么是这个格式的?我如何解析呢?aa|s:3:\"aaa\"

图片描述

如上图,|s:24 |s:3 是什么呢,我如何去把他们解析成可用的数据进行使用呢?

阅读 4.4k
4 个回答

看格式应该是PHP序列化后存进去,serialize and unserialize

@godtail 已经说的比较清楚了。你可以理解为把一个实例化的对象存储在redis中,

拿到redis中的字符串,通过反序列化就可以得到这个对象

给你看一下Python的实现方法

>>> import redis
>>> redis_conn = redis.Redis( host = "127.0.0.1", port = 6379, db = 0 )
>>> import json
>>> a = { "name": "chenyanshan" }
>>> redis_conn['list_str'] = json.dumps(a)
>>> redis_conn['list_str']
'{"name": "chenyanshan"}'
>>> b = json.loads(redis_conn['list_str'])
>>> b
{u'name': u'chenyanshan'}
KeyError: 1
>>> a = b["name"]
>>> a
u'chenyanshan'

PHP的Json编码:

PHP JSON 函数

新手上路,请多包涵

sess_|a:5:{s:4:"lang";i:1;s:11:"USER_KEY_ID";s:8:"80150307";s:8:"USER_KEY";s:17:"1374505583@qq.com";s:6:"STATUS";s:1:"1";s:12:"u_Login_Time";s:19:"2020-05-10 02:59:26";}login_time|i:1589053660;verifycode|i:6;
想获取邮箱怎么获取 序列化也试了 不行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏