py-leveldb is a thread-safe Python bindings for LevelDB. It has all features
from the LevelDB API, except for:
- Arbitrary key comparison
- Snapshots
- All iteration except for single-step forward
WWW: http://code.google.com/p/py-leveldb/
LevelDB is a fast key-value storage library written at Google that provides an
ordered mapping from string keys to string values.
Features:
- Keys and values are arbitrary byte arrays.
- Data is stored sorted by key.
- Callers can provide a custom comparison function to override the sort order.
- The basic operations are Put(key,value), Get(key), Delete(key).
- Multiple changes can be made in one atomic batch.
- Users can create a transient snapshot to get a consistent view of data.
- Forward and backward iteration is supported over the data.
- Data is automatically compressed using the Snappy compression library.
- External activity (file system operations etc.) is relayed through a virtual
interface so users can customize the operating system interactions.
- Detailed documentation about how to use the library is included with the
source code.
Limitations:
- This is not a SQL database. It does not have a relational data model, it does
not support SQL queries, and it has no support for indexes.
- Only a single process (possibly multi-threaded) can access a particular
database at a time.
- There is no client-server support builtin to the library. An application that
needs such support will have to wrap their own server around the library.
WWW: http://code.google.com/p/leveldb/
provide access to the PCRE (perl compatible-regular-expressions) library
for pattern matching. The PCRE library is a set of functions that
implement regular expression pattern matching using the same syntax and
semantics as Perl 5. This syntax can often handle more complex expressions
and capturing than standard regular expression implementations. For more
information about PCRE, please see: http://www.pcre.org/
lib_mysqludf_preg is a useful performance optimization for those
applications that are already performing these regular expression
matches in a high level language (ie. PHP) on the client side.
It is also helpful when there is a need to capture a parenthesized
subexpression from a regular expression, or simply as a slight
performance boost over the builtin RLIKE/REGEXP functions.
WWW: http://www.mysqludf.org/lib_mysqludf_preg/index.php
Apache's error log is not very clean: The log messages are mixed with
other web applications' noise; and especially if you use mod_fastcgi,
every line will be prepended with a long prefix.
An alternative is logging to a file. But then you have to make sure that
multiple processes won't corrupt the log file. The module Log::Handler
by Jonny Schulz does exactly this, because it supports message-wise flocking.
This module is a wrapper for said Log::Handler.