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

  1. redis.Redis()
  2. 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_redis

def 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 redis

redis_pool = redis.ConnectionPool(
		host=HOST, password=PASSWORD, port=PORT
	)
redis_connect = redis.Redis(connection_pool=redis_pool)
keys = redis_connect.keys()
print(keys)

你可能感兴趣的:(redis,python,数据库)