Redis第一章之初识Redis

Redis第一章之初识Redis

文章目录

    • Redis第一章之初识Redis
      • 理论篇
        • 1.redis是什么?
        • 2.redis的特性
        • 3.redis应用场景
        • 4.用好reids的建议
        • 5.redis 的版本选择
        • 总结:
      • 安装篇
        • 安装过程

理论篇

1.redis是什么?

​ Redis 是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis可以满足很多的应用场景,而且因为Redis会将所有数据都存放在内存中,所以它的读写性能非常惊人。

​ Redis 还可以将内存的数据利用快照和日志的形式保存到磁盘中,保证数据在机器故障时不会丢失数据。除此之外,redis还提供键过期、发布订阅、事务、流水线(pipeline)、Lua脚本功能。

  • 键过期

设置key的过期时间,只能精确到键,不能精确到集合、列表、哈希中的某个值。

应用场景:a.验证码过期;b.优惠活动过期等限时的场景。

  • 发布订阅

消息发布者和订阅者可以不进行直接通信,发布者向指定频道发消息,订阅该频道的订阅者都可以收到消息。

应用场景:a.聊天室;b.公告牌;c.服务之间利用消息解耦。

  • 流水线

它能将一组Redis命令进行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端。

应用场景:a.在要执行多条redis命令的情况下,将命令统一打包,可以节省网络传输时间。

  • Lua脚本
  1. Lua脚本在Redis中是原子执行的,执行过程中间不会插入其他命令。
  2. Lua脚本可以将多条命令一次性打包,有效地减少网络开销。

应用场景:a.商品秒杀;b.有依赖的批量查询

注意点:redis计算时为单线程,如果lua脚本执行时间过长,会影响reids的响应时间。

2.redis的特性

  1. 速度快
  2. 基于键值对的数据结构服务器
  3. 简单稳定、功能丰富
  4. 客户端语言多
  5. 可以持久化
  6. 主从复制
  7. 高可用和分布式

3.redis应用场景

redis可以做什么?

  1. 缓存
  2. 排行榜系统
  3. 计数器应用
  4. 消息队列系统

redis不建议做什么?

  1. 存储大量数据,如几亿
  2. 缓存数据库中全部数据,因为有一些数据是不经常访问的,缓存全部数据会浪费资源。

4.用好reids的建议

  1. 切勿当作黑盒使用,开发与运维同样重要。开发人员不仅仅需要了解命令的使用,还要了解reids运行原理。
  2. 阅读源码。redis的代码量相对于其他非关系型数据来说是非常小的,通过阅读优秀的源码,不仅能够加深我们对于Redis的理解,而且还能提高自身的编码水平,甚至可以对Redis做定制化

5.redis 的版本选择

Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶数版本的Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的奇数版本。

总结:

  1. Redis的8个特性:速度快、基于键值对的数据结构服务器、功能丰富、简单稳定、客户端语言多、持久化、主从复制、支持高可用和分布式。
  2. Redis并不是万金油,有些场景不适合使用Redis进行开发。
  3. 开发运维结合以及阅读源码是用好Redis的重要方法。
  4. 生产环境选取稳定版本的Redis。
  5. Redis3.0是重要的里程碑,发布了Redis官方的分布式实现Redis Cluster。

安装篇

  • redis版本:6.0.5
  • 操作系统:Centos7.5

​ Redis能够兼容绝大部分的POSIX系统,例如Linux、OS X、OpenBSD、NetBSD和FreeBSD,其中比较典型的是Linux操作系统(例如CentOS、Redhat、Ubuntu、Debian、OS X等)。在Linux安装软件通常有两种方法,第一种是通过各个操作系统的软件管理软件进行安装,例如CentOS有yum管理工具,Ubuntu有apt。但是由于Redis的更新速度相对较快,而这些管理工具不一定能更新到最新的版本,所以一般采用第二种方式:源码的方式进行安装。

安装过程

# 拉取redis压缩包
$ wget http://download.redis.io/releases/redis-6.0.5.tar.gz
# 解压
$ tar xzf redis-6.0.5.tar.gz
# 进入解压后的文件夹(也可以重命名)
$ cd redis-6.0.5
# 检查gcc版本号,redis6.x需要gcc >= 4.9
    # if gcc >= 4.9 :
        # 可以直接编译
   # else:
       # 升级gcc
           # 安装centos-release-scl
           yum install centos-release-scl
           # 安装 devtoolset
           yum install devtoolset-9-gcc*
           # 激活(临时激活)
           scl enable devtoolset-9 bash
           # 永久有效方式
           #把下面的脚本放入/etc/init.d目录下 并给文件加上执行权限,开机启动
           #--------------------------------------#
           #/bin/bash
           source /opt/rh/devtoolset-9/enable
           #--------------------------------------#
                 
# 编译
$ make
# 安装
$ make install

# 设置环境变量
    # 方式一:将src下的命令复制到/usr/bin/下
    # 方式二:编辑用户目录下的.bash_profile 文件

安装建议:对 redis-6.0.5 文件夹建个软连接到 redis 文件夹下,设置环境变量到redis文件下。

好处:之后版本升级直接修改软连接即可。

​redis 安装后运行 ./src/redis-server 命令即可运行,但是此时参数都是默认的,不建议这样使用。

​redis 的配置文件为解压后的目录下的 redis.conf,配置文件的具体信息可以参考里面的英文注释,具体解析之后会专门出一篇来说。

你可能感兴趣的:(#,Redis,redis,lua,数据库)