2017-09-10 58 views
0

我有一個腳本在python從傳感器連續接收數據。在python和php之間共享變量

我需要使用php根據請求在網頁上發佈最新的數據。

Apache,php和python都在同一個linux上安裝(實際上是一個樹莓派)。

我對存儲以前的數據不感興趣,我對寫在SD上的數據損壞有點擔心。我寧願減少複雜性並增加速度刷新(避免sql)。

可以寫一個文本文件ramfs/tmpfs解決這個問題嗎?或者有一種方法可以共享內存,如memcache也可以共享全局變量嗎?

enter image description here

任何實際的例子或HOWTO將真正被廣泛接受。

+0

你可以發送爲PHP的PHP後期價值 – scaisEdge

+0

這是最初的解決方案,但實際上已被丟棄。 –

+0

python腳本數據不斷變化,只能通過請求提供給用戶(php網頁)。在我看來,PHP頁面必須讀取「系統共享緩存」中的數據(從這裏可以看到一個虛擬磁盤中的文件) –

回答

0

您可以使用任何可互操作的格式,如json或msgpack。 無論何時在python中生成數據,使用json格式將其添加到像memcache/redis這樣的緩存層(最好是gzip壓縮版本),那麼PHP腳本就可以將json數據反序列化並將其顯示在應用中。

0

明顯的memcache作爲共享數據的手段不同的應用程序將工作。 您肯定不會有任何損壞的數據,因爲所有的memcache操作都是原子操作。 memcache atomic討論可能會有用。

在memcached中的常見問題解答:

是memcached原子?除了你可能遇到的任何錯誤,是的,所有的命令都是內部原子的。同時發行多套產品沒有不良影響,除了最後一套是堅持的產品之外。

注意:運行memcache服務可能會消耗大量的內存。

希望它有幫助!