Skip to content

VaclavDedik/infinispan-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infinispan Python Client

Build Status Coverage Status Python

Python client for Infinispan key-value store. Currently supported features:

  • CRUD operations get, put, remove, contains_key.
  • Compare-And-Swap operations put_if_absent, replace, replace_with_version, get_with_version, get_with_metadata.
  • Expiration with absolute lifespan or relative maximum idle time. This expiration parameters as passed as optional parameters to create/update methods and they support multiple time units, e.g. lifespan='1m', max_idle='1d'.
  • Update and remove operations can optionally return previous values by passing in previous=True option.
  • Server-side statistics can be retrieved using the stats operation.
  • Clients only need to be configure with a single node's address and from that node the rest of the cluster topology can be discovered. As nodes are added or destroyed, clients update their routing tables to reflect the change.
  • All operations can be called sychronously or asychronously (e.g. put is blocking, put_async is non-blocking and returns a Future).
  • Named caches are supported.

Usage

from infinispan import Infinispan

with Infinispan(host='127.0.0.1', port=11222) as client:
    client.put("key1", "value1")
    value, version = client.get_with_version("key1")
    prev_val = client.replace_with_version("key1", value, version, lifespan='1d', previous=True)
    stats_f = client.stats_async()
    # ...
    print prev_val
    print stats_f.result()

About

Python client for Infinispan key-value store

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published