• Redis-基本介绍/linux下环境配置/配置文件


    目录

    一、NoSQL数据库

    二、linux环境下的安装

    三、配置文件redis.config


    一、NoSQL数据库

            NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库

            NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力

    1. 不遵循SQL标准。
    2. 不支持ACID。
    3. 远超于SQL的性能。

            NoSQL的适用场景

    1. 对数据高并发的读写
    2. 海量数据的读写
    3. 对数据高可扩展性的

            NoSQL不适用的场景:

    1. 需要事务支持
    2. 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。

            

            RedisNoSQL数据库的一种,具有以下特点:

    • 数据都在内存中,支持持久化,主要用作备份恢复,也作为缓存数据库辅助持久化的数据库
    • 除了支持简单的key-value模式,还支持多种数据结构的存储,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
    • 这些数据类型都支持push/popadd/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
    • Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
    • 并且在此基础上实现了master-slave(主从)同步。

            应用场景

    1. 配合关系型数据库做高速缓存
      1. 高频次,热门访问的数据,降低数据库IO
      2. 分布式架构,做session共享
    2. 多样的数据结构存储持久化数据

             Redis的默认端口6379单线程+多路IO复用技术

            多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)

            就好比人们通过黄牛买电影票。黄牛与影院之间是单线程,与若干买票的人之间是多路复用。票不是即买即有的,买票的人可能购买之后需要等待,在等待的过程中可以去做自己的事情,等黄牛告诉他有票时再来取。

    二、linux环境下的安装

            1.下载redis软件包的压缩文件(推荐去镜像源下载)

            2.安装虚拟机软件,如vmware,然后安装centOS镜像(推荐去镜像源下载)

            3.将redis-6.2.1.tar.gz放在桌面的自定义文件夹内,示例:

            4.在该文件夹内打开终端,键入命令:tar -zxvf redis-6.2.1.tar.gz

            5.进入解压后redis-6.2.1目录,打开终端键入 make 命令,执行完毕后再键入make install 命令(若提示权限不足,就先键入“su”,输入密码获取最高权限;有些情况可能提示要安装gcc编译器,但我安装的过程没有提示)。

            6.这是安装成功后的安装目录:/usr/local/bin

    redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何

    redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲

    redis-check-dump:修复有问题的dump.rdb文件

    redis-sentinel:Redis集群使用

    redis-server:Redis服务器启动命令

    redis-cli:客户端,操作入口

            7.我们要设置后台启动,因为默认情况下是前台启动,一旦关闭了终端,服务器就也关了。

    在桌面上新建一个文件夹,用于存放配置文件。把解压后redis-6.2.1目录中的redis.conf文件复制过来:

             8.打开该配置文件,搜索并修改下面的字段:

                    daemonize no --> daemonize yes

             9.打开redis服务器redis-server /xxx/xxx/redis.config

            10.客户端连接redis服务器redis-cli    ,输入ping测试是否连接

    三、配置文件redis.config

    ​​​​​​​        timeout一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。即永不关闭

    ​​​​​​​​​​​​​​        tcp-keepalive对访问客户端的一种心跳检测,每个n秒检测一次。单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60

            port端口号默认6379

    ​​​​​​​​​​​​​​        daemonize是否为后台进程,一般设置为yes

            loglevel;指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为notice

            databases设定库的数量默认16默认数据库为0,可以使用SELECT 命令在连接上指定数据库id

            maxmemory 建议必须设置,否则,将内存占满,造成服务器宕机设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。

            maxclients设置redis同时可以与多少个客户端进行连接。默认情况下为10000个客户端

            如果想要远程访问redis服务器,需要修改下面几个重要的参数:

            bind:默认情况bind=127.0.0.1只能接受本机的访问请求,不写的情况下可以无限制接受任何ip地址的访问

            protected-mode如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应。应设置为 no

  • 相关阅读:
    爬虫基本原理
    分布式事务和分布式锁
    数学建模—灰色关联分析
    刷题记录:牛客NC13230合并回文子串
    声纹技术(四):声纹识别的工程部署
    记录-2023/11/18
    【JVM】垃圾回收机制
    红外小目标:AGPCNet网络结构与模型搭建
    P1208 [USACO1.3] 混合牛奶 Mixing Milk
    类和对象(下)
  • 原文地址:https://blog.csdn.net/weixin_62427168/article/details/126254303