Redis缓存数据库-快速入门

Redis缓存数据库-快速入门目录

Redis数据库快速入门

一、Redis数据库

介绍:

Redis:非关系型缓存数据库

  • nosql:非关系型数据库

    • 没有表,没有表与表之间的关系,更不存在外键
    • 存储数据的形式为key:values的形式
    • c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w qps
  • 缓存数据库:

    • 数据存储在内存中
    • 大部分时间用于缓存,也可以长久存储数据
  • redis速度为什么这么快:

    • 纯内存操作
    • 网路模型使用的IO多路复用(可以处理的请求更多)
    • 6.x版本之前,单进程,单线程,不存在进程线程之间切换,更少消耗资源

字符串类型使用-2.png

1、redis的安装与运行

版本选择:

安装:
 



 

redis需要了解的目录结构:

  • redis-server :服务端启动文件
  • redis-cli:客服端启动文件
  • redis.windows-service.conf:默认使用的配置文件
    • bind 127.0.0.1 :服务端跑在的地址
    • port 6379 :占用的端口号

启动redis:

  • 方式一:将服务端添加至系统服务(电脑运行自动启动)
    *
  • 方式二:cmd终端使用命令启动
    • redis-server 指定配置文件 # 如果不指定,会默认

客服端链接redis:

  • cmd终端使用命令

    • 方式一:redis-cli 默认链接本地的6379端口

    • 方式二:redis-cli -h 地址 -p 端口

2、RESP图形化操作文件

可以使用软件:

<span style="color:#000000"><span style="color:#393a34"><span style="background-color:white"><code class="language-python">Redis Desktop Manager :开源的,原来免费,后来收费了  推荐用(mac<span style="color:#393a34">,</span>win<span style="color:#393a34">,</span>linux 都有)

<span style="color:#393a34">-</span>Qt5  qt是个平台,专门用来做图形化界面的 
    <span style="color:#393a34">-</span>可以使用c<span style="color:#393a34">+</span><span style="color:#393a34">+</span>写
    <span style="color:#393a34">-</span>可以使用python写  pyqt5  使用python写图形化界面 <span style="color:#393a34">(</span>少量公司再用<span style="color:#393a34">)</span>
    
<span style="color:#393a34">-</span>resp<span style="color:#393a34">-</span><span style="color:#36acaa">2022.1</span><span style="color:#36acaa">.0</span><span style="color:#36acaa">.0</span><span style="color:#393a34">.</span>exe 一路下一步,安装完启动起来

<span style="color:#393a34">-</span>Redis Client  小众
</code></span></span></span>

RESP操作redis:

17efa3874a6edf3bfd8b251c9ca74647.png

二、pycharm操作redis

安装模块:

使用pycharm操作redis,pycharm相当于客户端,输入redis命令即可对数据库进行操作

<span style="color:#000000"><span style="color:#393a34"><span style="background-color:white"><code class="language-python"><span style="color:#008000"><em># 下载模块:</em></span>
	pip install redis
    
<span style="color:#008000"><em># 补充:django 中操作mysql,没有连接池的,一个请求就是一个mysql连接</em></span>
    <span style="color:#393a34">-</span>可能会有问题,并发数过高,导致mysql连接数过高,影响mysql性能
    <span style="color:#393a34">-</span>使用django连接池:https<span style="color:#393a34">:</span><span style="color:#393a34">//</span>blog<span style="color:#393a34">.</span>51cto<span style="color:#393a34">.</span>com<span style="color:#393a34">/</span>liangdongchang<span style="color:#393a34">/</span><span style="color:#36acaa">5140039</span>
</code></span></span></span>

1、Redis普通连接和连接池

普通链接:

普通链接是指,直接操作redis,每一次操作都会建立一条链接

<span style="color:#000000"><span style="color:#393a34"><span style="background-color:white"><code class="language-python"><span style="color:#008000"><em># 导入模块</em></span>
<span style="color:#0000ff">from</span> redis <span style="color:#0000ff">import</span> Redis

<span style="color:#008000"><em># 实例化对象(后方参数填写链接的地址和端口,还可以填写其他参数)</em></span>
conn <span style="color:#393a34">=</span> Redis<span style="color:#393a34">(</span>host<span style="color:#393a34">=</span><span style="color:#a31515">'127.0.0.1'</span><span style="color:#393a34">,</span> port<span style="color:#393a34">=</span><span style="color:#36acaa">6379</span><span style="color:#393a34">)</span>

<span style="color:#008000"><em># 向redis中存放一个数据</em></span>
conn<span style="color:#393a34">.</span>set<span style="color:#393a34">(</span><span style="color:#a31515">'name'</span><span style="color:#393a34">,</span> <span style="color:#a31515">'kangkang'</span><span style="color:#393a34">)</span>

<span style="color:#008000"><em># 从redis中取出存放的数据(二进制格式)</em></span>
<span style="color:#0000ff">print</span><span style="color:#393a34">(</span>conn<span style="color:#393a34">.</span>get<span style="color:#393a34">(</span><span style="color:#a31515">'name'</span><span style="color:#393a34">)</span><span style="color:#393a34">)</span>

<span style="color:#008000"><em># 操作完成,手动关闭,不然会一直占用一条链接</em></span>
conn<span style="color:#393a34">.</span>close<span style="color:#393a34">(</span><span style="color:#393a34">)</span>
</code></span></span></span>

连接池连接:

拿到一个Redis实例的连接池,避免每次建立、释放连接的开销,节省了每次连接用的时间,文中设置了最大10个。

POOL.py

<span style="color:#000000"><span style="color:#393a34"><span style="background-color:white"><code class="language-python"><span style="color:#008000"><em># 1、使用单例模式(保证每次使用的都是同一个实例对象),设置连接池最大为10个</em></span>
    <span style="color:#0000ff">import</span> redis

    POOL <span style="color:#393a34">=</span> redis<span style="color:#393a34">.</span>ConnectionPool<span style="color:#393a34">(</span>
        <span style="color:#008000"><em># 最大链接</em></span>
        max_connections<span style="color:#393a34">=</span><span style="color:#36acaa">10</span><span style="color:#393a34">,</span>
        <span style="color:#008000"><em># 指定服务端地址</em></span>
        host<span style="color:#393a34">=</span><span style="color:#a31515">'127.0.0.1'</span><span style="color:#393a34">,</span>
        prot<span style="color:#393a34">=</span><span style="color:#36acaa">6379</span>
    <span style="color:#393a34">)</span>
</code></span></span></span>

my_redis.py

<span style="color:#000000"><span style="color:#393a34"><span style="background-color:white"><code class="language-python"><span style="color:#008000"><em># 导入redis</em></span>
<span style="color:#0000ff">from</span> redis <span s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值