redis介绍,在python中的使用
1 redis介绍
0 cs架构,key-value存储(没有表,各种关系)
1 redis--->是存储数据的软件,跟语言无关,纯内存数据库(所有数据都放在内存中)
2 速度非常快,支持的数据类型多样(5 大数据类型:字符串,列表,字典,集合,有序集合)
3 Memcached和redis比较
-redis是单线程,单进程,数据类型丰富(只针对于 redis 6.0以下)
-memcache多线程多进程,数据类型单一,
3.1 redis为什么单线程,单进程速度这么快?
-10w并发量,生产单机6w左右
-1 纯内存数据库
-2 io多路复用,epoll模型(linux上支持),windows上支持select
-3 单线程单进程,避免了线程间切换
4 redis:开源软件,c语言写的,早起版本2w3千行,对windows不支持 6.0.6
-在不同平台编译---》可执行文件---》执行
-windows官方:又有大神把源码,在windows上编译--》可以允许在windows上(3.x)
2 redis的windows安装和配置
1 https://github.com/microsoftarchive/redis/releases
Redis-x64-3.2.100.msi:一路下一步,安装完成
2 6379:端口号
3 自动创建服务,服务运行
本质是一条命令:redis-server redis.windows-service.conf
redis-server 配置文件 :以这个配置文件启动服务
4 手动启动redis的服务端
redis-server:服务端
redis-server:就启动了,但是使用的是默认配置
redis-server 配置文件:以该配置文件启动
redis-cli:客户端
redis-cli:默认连接到本地的6379端口
redis-cli -h 127.0.0.1 -p 6379
图形化客户端:
redis-desktop-manager:图形化客户端(收费)
3 使用python来连接redis
1 使用python连接redis
2 pip3 install redis
3 使用python代码连接redis服务端,python代码就是客户端,跟使用图形化界面是一样的
普通连接
from redis import Redis
# 普通连接
# 拿到一个redis连接
conn = Redis()
# 使用连接进行操作
conn.set('name','Hans')
# 关闭连接
conn.close()
连接池
# 连接池
import redis
# 创建一个连接池 但是这样的操作不好,每次要操作就新建一个连接池,这样就违背了创建连接池的初衷,所以创建连接池要使用单例模式
pool = redis.ConnectionPool()
# 从连接池拿一个连接
conn = redis.Redis(connection_pool=pool)
# 操作
conn.set('name','Hans')
conn.close()
创建单例模式的连接池
另写一个redis_pool.py文件
import redis
Pool = redis.ConnectionPool(host='127.0.0.1',port=6379,max_connections=200)
然后在要用的地方导入
# 单例模式创建连接池
import redis
# 模块导入是天然的单例模式
from redis_pool import Pool
conn = redis.Redis(connection_pool=Pool)
conn.set('age',18)
conn.close()
发布于 2021-01-12 21:02