mysqldb的微小包装器
项目描述
潜行者
======
潜行者是建立在python-mySQLdb之上的一个微小的mysql包装器。
安装
======
```
git clone git://github.com/emre/lurker.git
python setup.py install
```
快速教程
======
连接到数据库
--------
* 使用配置对象。 (这可能更适合分离环境,如DevConfig, ProdConfig, TestConfig)
```python
class DatabaseConfig(BaseLurkerConfig)
host = 'localhost'
user = 'root'
passwd = ''
db = ''
connection = Connection(DbConfig)
```
* 不使用配置对象
```python
connection = Connection().quick_connect("mysql_user", "mysql_passwd", "db_name", "host")
```
发送查询
--------
```python
# 返回最后ID
connection.execute("INSERT INTO table_name (name) VALUES (%s)", ['Selami Sahin', ])
# 返回行数
connection.execute("UPDATE table_name SET name = %s", ["Muhittin Bosat", ])
# 返回结果集
all_people = connection.get_results("SELECT * FROM people")
# 返回一行
one_people = connection.get_row("SELECT * FROM people WHERE id = 1")
# 服务器端游标
for person in connection.iterate("SELECT * FROM people")
print person
```
带有Redis的查询缓存支持
--------
* 为了激活缓存支持,您需要在您的配置类中设置cache和cache_information变量。
```python
from lurker.configuration import BaseLurkerConfig
from lurker.connection import Connection
from lurker.cache.backends.redis_backend import RedisBackend
class DbConfig(BaseLurkerConfig)
host = 'localhost'
user = 'root'
passwd = 'passwd'
db = 'db_name'
cache = True
cache_information = {
'backend': RedisBackend,
'args': (),
'kwargs': {'host': 'localhost', 'port': 6379, 'db': 0},
}
```
* 在get_results和get_row中使用
```python
print connection.get_row("SELECT * FROM people WHERE id = %s", parameters=(1,), cache=30)
print connection.get_row("SELECT * FROM people WHERE id = %s", parameters=(1,), cache=30)
输出
调试:root:缓存未命中:SELECT * FROM people WHERE id = %s
{'id': 1L, 'name': u'Emre Yilmaz'}
调试:root:缓存命中:SELECT * FROM people WHERE id = %s
{'u'id': 1, 'u'name': u'Emre Yilmaz'}
```
维护者
======
Emre Yılmaz - [@emre_yilmaz](http://twitter.com/emre_yilmaz)
贡献者
=============
Mirat Can Bayrak - [@mirat](http://twitter.com/mirat)
由lurker支持的工程/脚本
====================================
- 数据库复制:https://gist.github.com/4686232#file-db_copy-py
======
潜行者是建立在python-mySQLdb之上的一个微小的mysql包装器。
安装
======
```
git clone git://github.com/emre/lurker.git
python setup.py install
```
快速教程
======
连接到数据库
--------
* 使用配置对象。 (这可能更适合分离环境,如DevConfig, ProdConfig, TestConfig)
```python
class DatabaseConfig(BaseLurkerConfig)
host = 'localhost'
user = 'root'
passwd = ''
db = ''
connection = Connection(DbConfig)
```
* 不使用配置对象
```python
connection = Connection().quick_connect("mysql_user", "mysql_passwd", "db_name", "host")
```
发送查询
--------
```python
# 返回最后ID
connection.execute("INSERT INTO table_name (name) VALUES (%s)", ['Selami Sahin', ])
# 返回行数
connection.execute("UPDATE table_name SET name = %s", ["Muhittin Bosat", ])
# 返回结果集
all_people = connection.get_results("SELECT * FROM people")
# 返回一行
one_people = connection.get_row("SELECT * FROM people WHERE id = 1")
# 服务器端游标
for person in connection.iterate("SELECT * FROM people")
print person
```
带有Redis的查询缓存支持
--------
* 为了激活缓存支持,您需要在您的配置类中设置cache和cache_information变量。
```python
from lurker.configuration import BaseLurkerConfig
from lurker.connection import Connection
from lurker.cache.backends.redis_backend import RedisBackend
class DbConfig(BaseLurkerConfig)
host = 'localhost'
user = 'root'
passwd = 'passwd'
db = 'db_name'
cache = True
cache_information = {
'backend': RedisBackend,
'args': (),
'kwargs': {'host': 'localhost', 'port': 6379, 'db': 0},
}
```
* 在get_results和get_row中使用
```python
print connection.get_row("SELECT * FROM people WHERE id = %s", parameters=(1,), cache=30)
print connection.get_row("SELECT * FROM people WHERE id = %s", parameters=(1,), cache=30)
输出
调试:root:缓存未命中:SELECT * FROM people WHERE id = %s
{'id': 1L, 'name': u'Emre Yilmaz'}
调试:root:缓存命中:SELECT * FROM people WHERE id = %s
{'u'id': 1, 'u'name': u'Emre Yilmaz'}
```
维护者
======
Emre Yılmaz - [@emre_yilmaz](http://twitter.com/emre_yilmaz)
贡献者
=============
Mirat Can Bayrak - [@mirat](http://twitter.com/mirat)
由lurker支持的工程/脚本
====================================
- 数据库复制:https://gist.github.com/4686232#file-db_copy-py
项目详情
关闭
lurker-0.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bc0bf8bb65c813902667100fca3faacff4eb1a7b361c5ca5dc3f8007178f84ee |
|
MD5 | 942803d29a7e6125ed0e59b14abd0f27 |
|
BLAKE2b-256 | 391449075f6de11f3208ab504ecc9b6c49ea4105ba696f44994f17ffce66d7c6 |