finds.database.redisdb

Redis class wrapper, with convenience methods for pandas DataFrames

Copyright 2022-2024, Terence Lim

MIT License

class finds.database.redisdb.RedisDB(host: str, port: int, charset: str = 'utf-8', decode_responses: bool = False, prefix: str = '', **kwargs)[source]

Bases: Database

Interface to redis, with convenience functions for dataframes

Parameters:
  • host – Hostname

  • port – Port number

  • charset – Character set

  • decode_responses – Set to False to zlib dataframe

  • prefix – string to prefix all key names

Variables:

redis – Redis client instance providing interface to all Redis commands

Redis built-in methods:

  • rdb.redis.delete(key) – delete an item

  • rdb.redis.get(key) – get an item

  • rdb.redis.exists(key) – does item exist

  • rdb.redis.set(key, value) – set an item

  • rdb.redis.keys() – get keys

Examples

$ ./redis-5.0.4/src/redis-server
$ redis-cli --scan --pattern '*CRSP_2020*' | xargs ./redis-cli del
CLI> keys *
CLI> flushall
CLI> info memory
dump(key: str, df: DataFrame)[source]

Saves dataframe, serialized to parquet, by key name to redis

Parameters:
  • key – Name of key in the store

  • df – DataFrame to store, serialized with to_parquet

load(key: str) DataFrame[source]

Return and deserialize dataframe given its key from redis store

Parameters:

key – Name of key in the store