Skip to main content

Redislite

Build Status Coverage Current Version Supported Python License Documentation

Description

Redislite is a self contained Python interface to the Redis key-value store.

It provides enhanced versions of the Redis-Py Python bindings for Redis. That provide the following added functionality:

  • Easy to use - It provides a built in Redis server that is automatically installed, configured and managed when the Redis bindings are used.
  • Flexible - Create a single server shared by multiple programs or multiple independent servers. All the servers provided by Redislite support all Redis functionality including advanced features such as replication and clustering.
  • Compatible - It provides enhanced versions of the Redis-Py python Redis bindings as well as functions to patch them to allow most existing code that uses them to run with little or no modifications.
  • Secure - It uses a secure default Redis configuraton that is only accessible by the creating user on the computer system it is run on.

Requirements

The redislite module requires Python 2.7 or higher.

Installing requirements on Linux

Make sure Python development headers are available when installing redislite.

On Ubuntu/Debian systems, install them with:

apt-get install python-dev

On Redhat/Fedora systems, install them with:

yum install python-devel

Installing requirements on Mac OSX

Redislite for OSX comes as a wheel package by default that can be installed using current versions of pip.

To install Redislite on MacOSX using the sdist package instead you will need the XCode command line utilities installed. If you do not have xcode installed on recent OSX releases they can be installed by running:

xcode-select --install

Installing requirements on Microsoft Windows

Redislite can be installed on newer releases of Windows 10 under the Bash on Ubuntu shell.

Install it using the instructions at https://msdn.microsoft.com/commandline/wsl/install_guide

Then start the bash shell and install the python-dev package as follows:

apt-get install python-dev

Installation

To install redislite, simply:

$ pip install redislite

or from source:

$ python setup.py install

Getting Started

redislite provides enhanced versions of the redis-py redis.Redis() and redis.StrictRedis() classes that take the same arguments as the corresponding redis classes and take one additional optional argument. Which is the name of the Redis rdb file to use. If the argument is not provided it will create set up a new redis server.

redislite also provides functions to MonkeyPatch the redis.Redis and redis.StrictRedis classes to use redislite, so existing python code that uses Redis can use the redislite version.

Examples

Here are some examples of using the redislite module.

Setting a value

Here we open a Python shell and set a key in our embedded Redis db. Redislite will automatically start the Redis server when the Redis() object is created and shut it down cleanly when the Python interpreter exits.

>>> from redislite import Redis
>>> redis_connection = Redis('/tmp/redis.db')
>>> redis_connection.keys()
[]
>>> redis_connection.set('key', 'value')
True
>>> redis_connection.get('key')
'value'

Persistence

Now we open the same Redis db and access the key we created during the last run. Redislite will automatically start the Redis server using the same configuration as last time, so the value that was set in the previous example is still available.

>>> from redislite import Redis
>>> redis_connection = Redis('/tmp/redis.db')
>>> redis_connection.keys()
['key']
>>> redis_connection.get('key')
'value'

Compatibility

It's possible to MonkeyPatch the normal Redis classes to allow modules that use Redis to use the redislite classes. Here we patch Redis and use the redis_collections module.

>>> import redislite.patch
>>> redislite.patch.patch_redis()
>>> import redis_collections
>>> td = redis_collections.Dict()
>>> td['foo']='bar'
>>> td.keys()
['foo']

Running and using Multiple servers

Redislite will start a new server if the redis rdb fileame isn't specified or is new. In this example we start 10 seperate redis servers and set the value of the key 'servernumber' to a different value in each server.

Then we access the value of 'servernumber' and print it.

>>> import redislite
>>> servers = {}
>>> for redis_server_number in range(10):
...     servers[redis_server_number] = redislite.Redis()
...     servers[redis_server_number].set('servernumber', redis_server_number)
...
True
True
True
True
True
True
True
True
True
True
>>> for redis_server in servers.values():
...     redis_server.get('servernumber')
...
b'0'
b'1'
b'2'
b'3'
b'4'
b'5'
b'6'
b'7'
b'8'
b'9'

Multiple Servers with different configurations in the same script

It's possible to spin up multiple instances with different configuration settings for the Redis server. Here is an example that sets up 2 redis server instances. One instance is configured to listen on port 8002, the second instance is a read-only slave of the first instance.

>>> import redislite
>>> master=redislite.Redis(serverconfig={'port': '8002'})
>>> slave=redislite.Redis(serverconfig={'slaveof': "127.0.0.1 8002"})
>>> slave.keys()
[]
>>> master.set('key', 'value')
True
>>> master.keys()
['key']
>>> slave.keys()
['key']
>>>

More Information

There is more detailed information on the redislite documentation page at http://redislite.readthedocs.org/en/latest/

Redislite is Free software under the New BSD license, see LICENSE.txt for details.

Release files for redislite 5.0.159448

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redislite 5.0.159448
File Size Uploaded
redislite-5.0.159448.tar.gz 1.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for redislite 5.0.159448
File
redislite-5.0.159448-cp38-cp38-manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
redislite-5.0.159448-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp37-cp37m-manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
redislite-5.0.159448-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp36-cp36m-manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
redislite-5.0.159448-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp35-cp35m-manylinux2014_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.17+ x86-64 Details
redislite-5.0.159448-cp35-cp35m-manylinux2010_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp34-cp34m-manylinux2010_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp27-cp27mu-manylinux2010_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-64 Details
redislite-5.0.159448-cp27-cp27m-manylinux2010_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-64 Details

Total release size: 50.1 MB

Release files / redislite-5.0.159448.tar.gz

Download URL redislite-5.0.159448.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
321f15a4ba7e9c6e5f0aeea34a0bff64618893ed8322e6966e1bc1c427c856bc
BLAKE2b-256 checksum
How to use checksums
21f197c632920975cf92d90be3ea4acf97d2eb7b1c571b2616924a6a76bdf4c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp38-cp38-manylinux2014_x86_64.whl

Download URL redislite-5.0.159448-cp38-cp38-manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
96043434aa971cbce3b0675cdf4a09861c6d88ee4c2f0f24898b210b40831427
BLAKE2b-256 checksum
How to use checksums
bfd7f3ff05b92a5c1309cd27d343f92413eed607efcee8111c1e77ca23e2d0b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp38-cp38-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp38-cp38-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e5890dbd42c59cecb41060ebb80aa1dd0ec7341488d54ae9488cae9783203119
BLAKE2b-256 checksum
How to use checksums
9982d5b6d401890f374e5aa81a2af0e3c2b717bcadc01178bd362a8725a293f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp37-cp37m-manylinux2014_x86_64.whl

Download URL redislite-5.0.159448-cp37-cp37m-manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ce16c1a98a9f4fc008b6c4cf3aa5f61001d8c55ad720aae4a33b698bc44acedf
BLAKE2b-256 checksum
How to use checksums
bbea9b53362d90c4aa2626b900a1e57e0398871e3bb2d3392216844075e5c450
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp37-cp37m-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp37-cp37m-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
7d912b49839d2043ca6196a5806c6c7dc5f3678dfe58ed4f3173cbb9026b098e
BLAKE2b-256 checksum
How to use checksums
8e72d3d4bb422e6267603fe6ed951a538f5154585a8b9f3060befba75dc38acb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp36-cp36m-manylinux2014_x86_64.whl

Download URL redislite-5.0.159448-cp36-cp36m-manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
704310a261f938bdabf1609916bea538aa29369c3567337fda9157121ddf613e
BLAKE2b-256 checksum
How to use checksums
07e83e45cc23fa6821dcf10917a60fd2388cbbd12ab82dfad300d2e5d6003e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp36-cp36m-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp36-cp36m-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
ac361737ba6fdfe0c4ba388179947e9cf1cb69679254a8003702901d6fe53556
BLAKE2b-256 checksum
How to use checksums
5838e7e431218aff384c7516736f42738d4258fe88927d4932aba11c4cd1db6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp35-cp35m-manylinux2014_x86_64.whl

Download URL redislite-5.0.159448-cp35-cp35m-manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f7b8847d211fbcce3bbe7ff2624bb0dedde19553299dbf6df9d0af327d020f82
BLAKE2b-256 checksum
How to use checksums
ef67cd3f165b4f06af6a93b7704c26768e24aed4f17500eaeb239c8d08d9aa07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp35-cp35m-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp35-cp35m-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
55aab9badd1bd9b9c64feb376ecfbe5d56b0fb6cfab0437d21e8dbeedfd22978
BLAKE2b-256 checksum
How to use checksums
dcb6c765066137a195a56737ad8c944f6b863cc4fd2dc286915faa457bf7fd25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp34-cp34m-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp34-cp34m-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
73e16ff06f28fec79f992d1c7f42206ab8ce9daa85529b97f0e76b09cb7105a6
BLAKE2b-256 checksum
How to use checksums
d78f4f32d91cc0d6ceef8593025ca42ce17a74689f414f8a7ca55763bbb5842c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp27-cp27mu-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp27-cp27mu-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
a9602be86b2f8f0dd48482e702490e59e70ccbdb55bbe2175ebf25e5fe676959
BLAKE2b-256 checksum
How to use checksums
c2620601da95e608740cb695e2cddb6ecf9aceed53030c3723db251bbc7ce8d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / redislite-5.0.159448-cp27-cp27m-manylinux2010_x86_64.whl

Download URL redislite-5.0.159448-cp27-cp27m-manylinux2010_x86_64.whl
Size 4.4 MB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
41db07d2ea364dd8f69fb52ca1b0e9f43de010008b15c1f1485903ab97a6c456
BLAKE2b-256 checksum
How to use checksums
30bd67ff49b39d69ae2cb15c7ec11168c93a2d638b76009d590b674d25b0de2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release history Release notifications | RSS feed

This release

5.0.159448 This release

12 release files

3.2.310

1 release file

3.0.282

1 release file

3.0.273

1.0.210

1 release file

1.0.151

1 release file

1.0.93

1 release file

1.0.63

1 release file

1.0.60

1 release file

1.0.59

1 release file

1.0.38

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

0.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page