zoukankan      html  css  js  c++  java
  • Redis基础介绍以及编译安装过程(一)

    一.Redis简介


    redi是完全开源免费的,遵守BSD协议,是具有高性能的key-value数据库

    redis与其他key-value缓存产品对比,具有如下特点:

    1)redis支撑数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用;

    2)redis不仅仅支持简单的key-value类型的数据,同时还提供lis,set,zset,hash等数据结构的存储

    3)redis半持久化,存储与内存和硬盘中

    【Redis和Mongodb的区别】:

    redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性。redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的lru算法删除数据;

    mongodb是指文档型的非关系型数据库,mongodb更类似msyql,支持字段索引,游标操作,其优势在于查询功能比较强大,擅长查询json数据,能够存储海量数据,但是不支持事务;


    二.Redis的安装


    1.下载官网:https://redis.io/download

    $ wget https://download.redis.io/releases/redis-6.2.1.tar.gz
    $ tar xzf redis-6.2.1.tar.gz
    $ cd redis-6.2.1
    $ make

    2.下载编译完成后,安装完的目录为src:

    重点文件介绍:

    1)redis-server:Redis服务器的daemon启动程序

    2)redis-cli:Redis命令操作工具。也可以用telnet根据其纯文本协议来操作

    3)redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

    4)redis-check-aof:数据修复

    5)redis-check-dump:检查导出工具

    3.将redis安装编译后的相关命令复制到本地的bin二进制目录中,方便管理:(也可不复制)

    4.将redis的conf配置文件复制到/etc目录下,方便启动:(也不可复制)

     如果进行了3和4之后,就可以将redis的文件进行删除了,redis最核心的就是3步骤中的3个命令以及4步骤中的2个配置文件:

     

     5.启动redis:redis-server /etc/redis.conf:

     启动之后,则是在前端运行,正常来说,我们需要将其启动在后台,此时则需要改动redis的配置文件(ctrl+C退出)

    【注意】启动之后有两个warning,其中一个是overcommit_memory is set to 0的警告:

     可以通过修改系统配置文件进行优化,官方建议将值改为1,执行命令是:

    1)echo vm.overcommit_memory=1>>/etc/sysctl.config

    2)sysctl vm.overcommit_memory=1 或者执行

    echo vm.overcommit_memory=1>>/proc/sys/vm/overcommit_memory

    【使用数字的含义】:

    0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,把错误返回给应用进程。

    1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

    2,表示内核允许分配超过所有物理内存和交换控件总和的内存。

    6.改动redis.confg文件,将redis进行后台启动

    vim /etc/redis.cofig文件,将GENERAL下的daemonize no改为yes,保存后并重新启动。

    7.重新启动:redis-server /etc/redis.conf

    启动之后,查看redis-server的进程:ps -ef|grep redis-server:

    redis的默认端口为6379

    【ps -ef|grep redis-server|grep -v grep命令解释用grep -v参数可以将grep命令排除掉】

    8.在本地直接连接redis:直接使用redis-cli即可:

    1)使用info可以查看redis的属性及状态信息:

     2)使用quit则退出redis:

    9.redis参数调优与维护管理:

    redis配置文件讲解(redis.config):

    redis配置文件我复制到了/etc/redis.confg路径下,其实也可以任意路径,如下是redis.conf文件参数介绍:

    1)bind 127.0.0.1

    bind指定redis只接收来自IP对应网卡的请求,如果不进行设置,那么将处理所有请求。bind绑定的是本机的IP地址,准确的说是本地网卡对应的IP地址,每一个网卡都有一个IP地址,可以设置绑定到哪块网卡上,如果指定了bind,则说明只允许来自指定网卡的Redis请求。

    注意:此参数不是设置redis允许来自其他计算机请求的客户端IP地址。

    2)protected-mode yes

    此参数是redis3.2版本之后加入的新特性,默认是yes,即开启,这是为了禁止公网直接访问redis新增的设定,用于加强redis安全的。protected-mode在启用状态,redis无法提供对外连接。

    要启用redist对外连接功能,有如下两种方法:

    a)关闭protected-mode模式

    b)开启protected-mode保护模式时,必须设置访问密码或者配置bind IP

    3)tcp-backlog 511

    此参数确定TCP连接中已完成的队列(完成三次握手之后)的长度,默认时511,当然此值不能大于Linux系统定义的/proc/sys/net/core/somaxconn的值,而Linux的默认参数值是128.当系统并发量大并且客户端速度缓慢的时候,可以将两个参数一起设定为一个一样的值,对于负载很大的服务程序来说,默认128太小,一般回将它修改为2048或者再大,在./etc/sysctl/confg中添加:net.core.somaxconn=2048,然后再终端中执行sysctl-p。

     

     

     

  • 相关阅读:
    java入门学习(二)
    java入门学习(一)
    python3之数据类型
    pip基础用法
    python中的序列化与反序列化
    python装饰器
    python WEB接口自动化测试之requests库详解
    QQ发送邮件实例
    获取当前目录下最新的文件
    The Zen of Python
  • 原文地址:https://www.cnblogs.com/smilecindy/p/14529069.html
Copyright © 2011-2022 走看看