Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session Redis中的龙卷风会话_Session_Redis_Tornado - Fatal编程技术网

Session Redis中的龙卷风会话

Session Redis中的龙卷风会话,session,redis,tornado,Session,Redis,Tornado,我正在编写一个基于Tornado的轻型comet服务器。 我想将“self”对象存储在redis中以维护状态。。 这样行吗 首先,我甚至不能将self序列化以存储在Redis中 这就是错误所在 File "sessionsupport.py", line 27, in get this = cPickle.dumps(self,1) File "/home/test/lib/python2.7/copy_reg.py", line 70, in _reduce_ex rais

我正在编写一个基于Tornado的轻型comet服务器。 我想将“self”对象存储在redis中以维护状态。。 这样行吗

首先,我甚至不能将self序列化以存储在Redis中

这就是错误所在

File "sessionsupport.py", line 27, in get
    this = cPickle.dumps(self,1)
  File "/home/test/lib/python2.7/copy_reg.py", line 70, in _reduce_ex
    raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle instancemethod objects

有什么建议吗?

我不确定
self
对象是否引用了
RequestHandler
的实例,或者您拥有的某种类型的
会话
实例。无论是哪种类型,您都可能希望在酸洗并保存到redis之前将对象转换为dict。至少,我对MongoDB就是这么做的。我的龙卷风会议:

  • dict
    s,其中包含我希望在整个用户会话中保留的任何数据
  • 分配的ID为:
    • 与dict一起保存在我的数据存储中(redis或MongoDB)
    • 存储在用户的cookie中

来自什么上下文的“自我”对象?RequestHandler实例?是指指向特定客户端的RequestHandler。。你是如何在龙卷风中做到这一点的?