1.什么是Redis

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。

Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。

与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。

2.Redis有哪些优缺点

优点

  • 读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。
  • 支持数据持久化,支持AOF和RDB两种持久化方式。
  • 支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
  • 数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。
  • 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。

缺点

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
  • Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
  • 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
  • Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

3.安装

Windows

  • 下载:https://github.com/tporadowski/redis/releases (下载压缩包即可)

  • 解压后的文件介绍:

    • redis-server.exe:服务端程序,提供 Redis 服务。
    • redis-cli.exe: 客户端程序,通过它连接 Redis 服务并进行操作。
    • redis-check-dump.exe:RDB 文件修复工具。
    • redis-check-aof.exe:AOF 文件修复工具。
    • redis-benchmark.exe:性能测试工具,用以模拟同时由 N 个客户端发送 M 个 SETs/GETs 查询(类似于 Apache 的 ab 工具)。
    • redis.windows.conf: 配置文件,将 Redis 作为普通软件使用的配置,命令行关闭则 Redis 关闭。
    • redis.windows-service.conf:配置文件,将 Redis 作为系统服务的配置。
  • 先启动 redis-server.exe,如果弹出窗口一闪而过,如果不想窗口消失,可以在 cmd 中打开。

  • 双击 redis-cli.exe以启动redis

Linux

  • 去官网下载 : https://redis.io/download

  • 解压

    下载完成后需要将压缩文件解压,输入以下命令解压到当前目录

    tar -zvxf redis-5.0.7.tar.gz
    
  • 移动redis目录

    一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

    mv /root/redis-5.0.7 /usr/local/redis
    
  • 编译

    cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

    cd /usr/local/redis
    make
    
  • 安装

    输入以下命令

    make PREFIX=/usr/local/redis install
    
  • 在src文件夹下输入make install指令

    cd src
    make install
    
  • cd到/usr/local/bin 会看到 redis-cli redis-serve 等等

    新建一个包,自定义包名(gconfig) ,并复制redis中的配置文件到该文件夹下

    mkdir gconfig
    cp /usr/local/redis/redis.config gconfig
    
  • cd到自定义的包下,修改配置文件 将daemonize 后的no改为yes

    cd gconfig
    vim redis.conf
    
  • 以自定义的配置文件打开服务

    redis-server gconfig/redis.conf
    
  • 打开redis客户端

    redis-cli -p 6379
    
  • 测试(ping)

    shutdown 可以关闭

测试性能

redis-benchmark 是一个压力测试工具!

官方自带的性能测试工具

bin 目录下的 redis-benchmark 可以进行性能测试

  • -c(clients):客户端的并发量(默认 50)。
  • -n(num):客户端请求数量(默认 100000)。
  • -q:仅仅显示 redis-benchmark 的 requests per second 信息。
  • -r(random):向 Redis 插入更多随机的值。
  • -P :每个请求pipeline的数据量(默认为 1)。
  • -k :客户端是否使用 keepalive,1 为使用,0 为不使用,默认值为 1。
  • -t:对指定命令进行基准测试。
  • –csv:将结果按照 csv 格式输出。
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
文章作者: 郭远
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 郭远的博客空间
Redis Redis
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝