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

图片描述

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

阅读 4.7k
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;
想获取邮箱怎么获取 序列化也试了 不行

推荐问题