我正在使用 Redis (phpredis) 在我的 Laravel 和我的 Python 应用程序之间共享数据。
在 Laravel 中,我将我的数组保存在一个特定的 channel 上:
$data = MyModel::where('start_date','>', "2018-05-02 10:00:00")->get();
// $data = [{'id':1, 'start_date': "2018-05-03 12:00:00", 'name': "}…]
Redis::set("barChannel", json_encode($data));
在 Python 中,我读取了这些数据:
import redis
import json
myredis = redis.Redis()
data = json.loads(myredis.get('barChannel'));
// data = [{'id':1, 'start_date': "2018-05-03 12:00:00", 'name': "}…]
所以基本上数据成功通过,但我的 python 列表中没有直接有一个 datetime
值,我有一个必须转换的 string
。在上面的示例中,我可以使用 datetime.datetime.strptime
但在更复杂的数据结构(嵌套的字典列表)的情况下......转换每个变量非常痛苦。
有没有一种方法可以在 Redis 中存储日期时间,而这些日期时间可以在 Python 中本地识别?
最佳答案
不,经过少量研究您会知道,Redis 仅以字符串表示形式存储其值,因此您唯一的选择是存储序列化数据并在需要时反序列化。
从以下开始:
关于php - 雷迪斯 : is it possible to share datetimes directly between php/laravel and python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50138925/