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。

     

     

     

  • 相关阅读:
    SSL JudgeOnline 1194——最佳乘车
    SSL JudgeOnline 1457——翻币问题
    SSL JudgeOnlie 2324——细胞问题
    SSL JudgeOnline 1456——骑士旅行
    SSL JudgeOnline 1455——电子老鼠闯迷宫
    SSL JudgeOnline 2253——新型计算器
    SSL JudgeOnline 1198——求逆序对数
    SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
    SSL JudgeOnline 1668——小车载人问题
    SSL JudgeOnline 1089——USACO 1.2 方块转换
  • 原文地址:https://www.cnblogs.com/smilecindy/p/14529069.html
Copyright © 2011-2022 走看看