redis使用方式(基于python)
Redis使用
1. 介绍
Redis
是一个开源的基于内存也可持久化的Key-Value
数据库,采用ANSI
C语言编写。它拥有丰富的数据结构,拥有事务功能,保证命令的原子性。由于是内存数据库,读写非常高速,可达10w/s
的评率,所以一般应用于数据变化快、实时通讯、缓存等。但内存数据库通常要考虑机器的内存大小。
Redis
有16个逻辑数据库(db0-db15
),每个逻辑数据库项目是隔离的,默认使用db0
数据库。若选择第2个数据库,通过命令 select 2 ,python中连接时可以指定数据库。
2. redis常用数据类型
- String - 字符串
- List - 列表
- Hash - 哈希
- Set - 集合
- Sort Set - 有序集合
3. Python3 安装 redis模块
pip install redis
4. python连接redis
python
提供了两个类用来连接redis
- redis.Redis()
- redis.StrictRedis()
Redis
是 StrictRedis
的子类,用于向后兼用旧版本。
redis
取出的结果默认是字节,我们可以设定 decode_responses=True
改成字符串。
代码案例
import redis
# 导入配置信息
from redis_conf import *def connect_redis_func1():"""连接redis 第一种方式"""try:conncet_redis = redis.Redis(host=HOST, password=PASSWORD, db=DB, port=PORT, decode_responses=True)except Exception as e:raise ValueError(f" Redis Conncet Error, Message: '{e}'")return conncet_redisdef connect_redis_func2():"""方式2"""try:conncet_redis = redis.StrictRedis(host=HOST, password=PASSWORD, db=DB, port=PORT, decode_responses=True)except Exception as e:raise ValueError(f" Redis Conncet Error, Message: '{e}'")return conncet_redis# 第一种方式连接获取所有的key
cr = connect_redis_func1()
print(cr.keys())
# 第二种方式连接获取所有redis key
cr2 = connect_redis_func2()
print(cr2.keys())
使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis
实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis
,这样就可以实现多个 Redis
实例共享一个连接池。
使用连接池连接redis
from redis_conf import *import redisredis_pool = redis.ConnectionPool(host=HOST, password=PASSWORD, port=PORT)
redis_connect = redis.Redis(connection_pool=redis_pool)
keys = redis_connect.keys()
print(keys)