我试图在redis中存储一个对象,它是一个类的实例,因此具有功能,这是一个例子:
function myClass(){
this._attr = "foo";
this.getAttr = function(){
return this._attr;
}
}
有没有办法将此对象与函数一起存储在 redis 中?我试过JSON.stringify()
了,但只保留了属性。如何存储函数定义并能够执行以下操作:
var myObj = new myClass();
var stringObj = JSON.stringify(myObj);
// store in redis and retreive as stringObj again
var parsedObj = JSON.parse(stringObj);
console.log(myObj.getAttr()); //prints foo
console.log(parsedObj.getAttr()); // prints "Object has no method 'getAttr'"
foo
打电话的时候怎么接parsedObj.getAttr()
?
先感谢您!
编辑
有人建议修改 MyClass.prototype 并存储值,但是像这样的东西呢(除了 setter/getter 之外的函数):
function myClass(){
this._attr = "foo";
this._accessCounts = 0;
this.getAttr = function(){
this._accessCounts++;
return this._attr;
}
this.getCount = function(){
return this._accessCounts;
}
}
我试图说明一个函数,它在调用时计算诸如计数或平均值之类的东西,除了做其他事情。