mysql memcache redis_中级篇(1):操作mysql,redis,memcache,mongodb

# 数据库

[TOC]

## [mysql](http://www.runoob.com/python3/python3-mysql.html)

### 使用

1. 如果MySQL的版本≥5.5.3,可以把编码设置为utf8mb4。utf8mb4和utf8完全兼容,但它支持最新的Unicode标准,可以显示emoji字符。

2. 执行INSERT等增删改操作后要调用commit()提交事务;

3. MySQL的SQL占位符是%s

```python

import pymysql

# 导入MySQL驱动:

import mysql.connector

# 链接数据库 获取操作游标

def mysql_db():

# 链接数据库 获取操作游标

config = {

'host': MYSQL_HOST,

'port': MYSQL_PORT,

'user': MYSQL_USER,

'passwd': MYSQL_PASSWD,

'database' : 'spider',

'charset':'utf8mb4',

'cursorclass': pymysql.cursors.DictCursor

}

conn = pymysql.connect(**config)

cursor = conn.cursor()

return cursor

# 注意MySQL的占位符统一是%s:

cursor = conn.cursor()

cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

# 插入数据

for x in range(3):

cursor.execute("insert into user (id, name) values (%s, %s)", [str(x), "TaoYuan"+str(x)])

print(cursor.rowcount) # 只读属性,返回执行execute()方法后影响的行数

# 删除

cursor.execute("delete from user where id < %s",[10])

# 改

cursor.execute("update user set name='zxg' WHERE id = %s",[11])

# 查

cursor.execute("select * from user limit 10")

res = cursor.fetchall()

print(res) # [('11', 'zxg'), ('12', 'TaoYuan12')]

# 提交事务

conn.commit()

cursor.close()

```

## [redis](https://www.jianshu.com/p/2639549bedc8)

### 安装库

redis,redis-py

### 说明

```python

# 连接redis,加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型。

r = redis.Redis(host='localhost', port=6379, decode_responses=True, db=1)

# redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。

# 可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

```

## mongodb

http://www.runoob.com/python3/python-mongodb.html

https://www.cnblogs.com/melonjiang/p/6536876.html

### 说明

```python

import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值