Skip to main content

pypi_badge

pymcache_fdw

Memcache foreign data wrapper for PostgreSQL written in python.

dependencies

installation

  1. install python module

  • from sources (bitbucket)

    $ git clone https://bitbucket.org/olshevskiy87/pymcache_fdw.git
    $ cd pymcache_fdw
    $ python setup.py install
  • using pip

    $ pip install pymcache_fdw
  1. create extension “multicorn”

    $$ create extension multicorn;
  2. create foreign server in database

  • foreign server to operate cache items

    $$ CREATE SERVER pymcache_fdw
    FOREIGN DATA WRAPPER multicorn
    OPTIONS (
        wrapper 'pymcache_fdw.PymcacheFDW'
    );
  • foreign server to show statistics

    $$ CREATE SERVER pymcache_fdw_stat
    FOREIGN DATA WRAPPER multicorn
    OPTIONS (
        wrapper 'pymcache_fdw.PymcacheFDWStats'
    );
  1. create foreign table

  • foreign table to operate cache items

    $$ CREATE FOREIGN TABLE pymcache_test (
        key TEXT,
        value TEXT,
        expire TEXT -- optional
    ) SERVER pymcache_fdw OPTIONS (
        host 'localhost',
        port '11211',
        row_id 'key',
        expire '60' -- optional, default is 0 - never expire
    );
  • foreign table to operate cache items with prefix in the keys

    $$ CREATE FOREIGN TABLE pymcache_test_group (
        key TEXT,
        value TEXT
    ) SERVER pymcache_fdw OPTIONS (
        prefix 'group1_'
    );
  • foreign table to show general-purpose statistics

    $$ CREATE FOREIGN TABLE pymcache_stat_test (
        stat_name TEXT,
        stat_value TEXT
    ) SERVER pymcache_fdw_stat;
  • foreign table to show current memcache settings

    $$ CREATE FOREIGN TABLE pymcache_stat_settings_test (
        stat_name TEXT,
        stat_value TEXT
    ) SERVER pymcache_fdw_stat OPTIONS (
        stats_cmd 'settings'
    );

usage

  • set cache item

$$ insert into pymcache_test(key, value)
   values('meaning_of_life', '42');
INSERT 0 1
  • set cache item, that will expire after 10 seconds

$$ insert into pymcache_test(key, value, expire)
   values('born_to_die', 'Lana Del Rey', 10);
INSERT 0 1
  • update cache item with key born_to_die

$$ update pymcache_test
   set value = 'Grand Funk Railroad', expire = 300
   where key = 'born_to_die'
UPDATE 1
  • get cache items with set of keys in “where” clause

$$ select key, value
   from pymcache_test
   where key in ('meaning_of_life', 'k1');

       key       | value
-----------------+-------
meaning_of_life  | 42
(1 row)
  • delete cache item with key meaning_of_life

$$ delete from pymcache_test
   where key = 'meaning_of_life';
DELETE 1
  • set and get items with key prefix group1_

$$ insert into pymcache_test_group(key, value)
   values('first_item', 'first value');
INSERT 0 1

$$ select key, value
   from pymcache_test_group
   where key = 'first_item';

    key     |    value
------------+-------------
 first_item | first value
(1 row)
  • show general-purpose statistics related to connections

$$ select stat_name, stat_value
   from pymcache_stat_test
   where stat_name ~* 'connection';

WARNING:  Using default host: localhost
WARNING:  Using default port: 11211
       stat_name       | stat_value
-----------------------+------------
 curr_connections      | 6
 total_connections     | 31
 connection_structures | 7
(3 rows)
  • show “enabled” memcache settings

$$ select stat_name, stat_value
   from pymcache_stat_settings_test
   where stat_name ~* 'enabled';

     stat_name     | stat_value
-------------------+------------
 cas_enabled       | yes
 auth_enabled_sasl | False
 detail_enabled    | no
 flush_enabled     | yes
(4 rows)

license

Copyright (c) 2016 Dmitriy Olshevskiy. MIT LICENSE.

See LICENSE.txt for details.

Release files for pymcache-fdw 0.2.0

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

Source distribution (sdist)

Source distribution for pymcache-fdw 0.2.0
File Size Uploaded
pymcache_fdw-0.2.0.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymcache-fdw 0.2.0
File Interpreter ABI Platform
pymcache_fdw-0.2.0-py2-none-any.whl Python 2 none any Details

Total release size: 12.5 kB

Release files / pymcache_fdw-0.2.0.tar.gz

Download URL pymcache_fdw-0.2.0.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c0002e386b4a83f204c9b4abf449a44965982b2d80446a84d3fc2a265b8f3944
BLAKE2b-256 checksum
How to use checksums
dfae5d4f84fe139044d9b351c61c52ee04eab46b53eff976abe2d7c37ffe8df7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pymcache_fdw-0.2.0-py2-none-any.whl

Download URL pymcache_fdw-0.2.0-py2-none-any.whl
Size 7.5 kB
Tags Python 2
SHA-256 checksum
How to use checksums
98f62acf88f7b55416d39cc3c2b193141271f2dff8779899fe9e0df5c6a97c2d
BLAKE2b-256 checksum
How to use checksums
2843ae6eb6970bea3914ae6ae06ca53c65e799a0bbfaaa4f1dfc487cc752806b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.10

2 release files

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