memcache fdw for postgresql
Project description
pymcache_fdw
Memcache foreign data wrapper for PostgreSQL written in python.
dependencies
installation
install python module
from sources (bitbucket)
$ git clone https://bitbucket.org/olshevskiy87/pymcache_fdw.git $ cd pymcache_fdw $ python setup.py installusing pip
$ pip install pymcache_fdw
create extension “multicorn”
$$ create extension multicorn;
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' );
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)
external links
Multicorn - postgres extension that allows to make FDW with python language
Memcached - distributed memory object caching system
Pymemcache - python module documentation
license
Copyright (c) 2016 Dmitriy Olshevskiy. MIT LICENSE.
See LICENSE.txt for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pymcache_fdw-0.2.0.tar.gz
.
File metadata
- Download URL: pymcache_fdw-0.2.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0002e386b4a83f204c9b4abf449a44965982b2d80446a84d3fc2a265b8f3944 |
|
MD5 | 37b6eec4d4fd35193ff6a0f61807057c |
|
BLAKE2b-256 | dfae5d4f84fe139044d9b351c61c52ee04eab46b53eff976abe2d7c37ffe8df7 |
File details
Details for the file pymcache_fdw-0.2.0-py2-none-any.whl
.
File metadata
- Download URL: pymcache_fdw-0.2.0-py2-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98f62acf88f7b55416d39cc3c2b193141271f2dff8779899fe9e0df5c6a97c2d |
|
MD5 | 0d46116926ca57a2d45c6c4ae1af9aa7 |
|
BLAKE2b-256 | 2843ae6eb6970bea3914ae6ae06ca53c65e799a0bbfaaa4f1dfc487cc752806b |