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