Redis(一)
2022-09-22 22:46:49

目录
[TOC]

Redis是什么?

  • Redis官网中文官网
  • Redis的全拼是Remote Dictionary Server ,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;属于常用的NoSQL数据库。
    (NoSQl:指的是非关系型的数据库。有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,NoSQL用于超大规模数据的存储。)

为什么要用Redis?

Redis可以完成以下功能,或者说一些功能由Redis来完成更为合适:

  • 缓存,对于不需要经常更改,或者更改后的结果不需要实时更新的数据。可以存放在Redis里面,以此来减轻DB的压力

  • 排行榜,如果使用传统的关系型数据库来做这个事儿,非常的麻烦,而利用能够非常方便搞定;

  • 计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类操作如果用MySQL,频繁的读写会带来相当大的压力;限速器比较典型的使用场景是限制某个用户访问某个API的频率,常用的有抢购时,防止用户疯狂点击带来不必要的压力;

  • 好友关系,利用集合的一些命令,比如求交集、并集、差集等。可以方便搞定一些共同好友、共同爱好之类的功能;

  • 简单消息队列,除了Redis自身的发布/订阅模式,我们也可以利用List来实现一个队列机制,比如:到货通知、邮件发送之类的需求,不需要高可靠,但是会带来非常大的DB压力,完全可以用List来完成异步解耦;

  • Session共享,以PHP为例,默认Session是保存在服务器的文件中,如果是集群服务,同一个用户过来可能落在不同机器上,这就会导致用户频繁登陆;采用Redis保存Session后,无论用户落在那台机器上都能够获取到对应的Session信息。

如何使用Redis?

下载安装

  • Windows系统(非常简单)
  • Linux系统 (比较麻烦)

Windows系统

  1. 点击下载压缩包(只有5M大小)

  2. 解压后目录如下:
    redis_install.png

  3. 首先双击运行redis-server.exe启动服务端,(窗口不要关闭,关闭了server就关闭了)

  4. 然后运行redis-cli.exe
    然后就可以在命令行中练习Redis的常见命令了

    1
    2
    3
    4
    5
    6
    7
    8
    ping
    set google http://www.google
    append google .com
    get google
    set visitors 0
    incr visitors
    incr visitors
    get visitors

Linux系统

我是租用的阿里云服务器,远程的linux,本地Linux同理
以下手动安装的方式,如果使用宝塔面板应该可以直接安装

  1. 下载
    进入官网,找到底部的Download it 点击显示的最新版本直接就能下载。
    image.png
  2. 把下载文件移动到你的Linux系统上(我是通过宝塔面板上传到服务器上的,本地Linux系统就方便了)
  3. 解压,找到你的文件录取运行tar -zxvf redis-6.0.8.tar.gz

image.png
进入解压后的目录
image.png
4. 安装gccyum install gcc-c++
image.png
5. 在解压目录执行:make编译命令
image.png
如果最后这样显示就是编译成功了
image.png
如果是如下面的图,就是编译失败了
image.png
失败的可以尝试以下两种方式解决:

  • 更新gcc

    1
    2
    3
    sudo yum install centos-release-scl
    sudo yum install devtoolset-7-gcc*
    scl enable devtoolset-7 bash
  • 或降低redis版本

  1. 在解压目录执行:make install安装命令
    image.png
  2. Redis默认安装路径 /usr/local/bin
    image.png
  3. 移动配置文件并进行设置(直接贴图了)
    image.png
    编辑该文件,修改:daemonize nodaemonize yes
    image.png
    image.png
    然后输入:wq退出
  4. 启动Redis
    利用我们的配置来启动redis服务,执行redis-server redis-config/redis.conf
    image.png
    再启动redsi客户端,执行redis-cli -p 6379
    image.png
  5. 常用命令
    查看redis的进程是否开启# ps -ef|grep redis
    image.png
    关闭redis服务,再客户端输入shutdown,然后exit退出客户端就可以了
    image.png
    再次查看已经没有了
    image.png

性能测试

我是在Windows系统上操作的,Linux同理

在解压目录下打开命令行,输入下面的命令:
.\redis-benchmark.exe -h localhost -p 6379 -c 10 -n 5000
测试10个并发连接,10000个请求
image.png
参数如下:
image.png



参考资料

Prev
2022-09-22 22:46:49
Next