sql >> Databasteknik >  >> NoSQL >> Redis

Hur man ställer in/hämtar Pandas dataramar till Redis med pyarrow

Här är ett fullständigt exempel på att använda pyarrow för serialisering av en pandas dataram för att lagra i redis

apt-get install python3 python3-pip redis-server
pip3 install pandas pyarrow redis

och sedan i python

import pandas as pd
import pyarrow as pa
import redis

df=pd.DataFrame({'A':[1,2,3]})
r = redis.Redis(host='localhost', port=6379, db=0)

context = pa.default_serialization_context()
r.set("key", context.serialize(df).to_buffer().to_pybytes())
context.deserialize(r.get("key"))
   A
0  1
1  2
2  3

Jag skickade precis in PR 28494 till pandor för att inkludera detta pyarrow-exempel i dokumenten.

Referensdokument:

  • https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_msgpack.html
  • https://arrow.apache.org/docs/python/ipc.html#arbitrary-object-serialization
  • https://arrow.apache.org/docs/python/memory.html#pyarrow-buffer
  • https://stackoverflow.com/a/37957490/4126114


  1. Redis Pub-Sub eller Socket.IO:s sändning

  2. Redis uppdaterar inte när många förfrågningar samtidigt

  3. När ska MongoDB-databasanslutning stängas i Nodejs

  4. Hur får jag åtkomst till Meteors MongoDB från en annan klient medan Meteor körs?