博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis的安装与配置
阅读量:3984 次
发布时间:2019-05-24

本文共 4028 字,大约阅读时间需要 13 分钟。

Redis的安装与配置

一、Redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis的优势:

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

二、下载Redis

从直接下载对应安装压缩包。

在这里插入图片描述

三、Windows环境安装

3.1 Windows安装redis

  1. 根据本地Windows环境选择32或者64位,从https://github.com/microsoftarchive/redis/releases 上下载对应Redis-x64-xxx.zip压缩包,解压到本地。
  2. 运行中输入cmd,进入到解压后的redis目录,执行
    redis-server redis.windows.conf

3.2 Windows设置Redis服务

上述3.1 中一旦关闭黑窗口,redis服务就停了。所以我们把它做成一个服务。

执行命令

redis-server –service-install redis.windows-service.conf –loglevel verbose

输入命令之后没有报错,表示成功了,刷新服务,会看到多了一个redis服务。

在这里插入图片描述
卸载服务:redis-server –service-uninstall
开启服务:redis-server –service-start
停止服务:redis-server –service-stop

四、Linux环境安装

4.1 上传解压缩方式

将下载好的redis压缩包上传到Linux服务器,参考4.2的步骤

4.2 联网下载安装方式

  1. 进入官网找到下载地址 https://redis.io/download,右键Download按钮,选择复制链接。

  2. 执行如下命令远程联网下载

    wget http://download.redis.io/releases/redis-6.0.6.tar.gz
  3. 解压缩

    tar -zvxf redis-6.0.6.tar.gz
  4. 一般我们都会将redis安装目录放置到 /usr/local/redis目录,

    mv ../redis-6.0.6 /usr/local/redis
  5. cd到/usr/local/redis目录,输入命令make执行编译命令

    make

    如果出现报错问题,参考4.3 安装报错问题

    编译成功后如下图所示:
    在这里插入图片描述

  6. 编译成功后,进入src文件夹,执行make install进行安装。

    make install

    执行成功如下图:

    在这里插入图片描述

  7. 启动。进入src目录下,执行

    ./redis-server

4.3 redis安装报错问题汇总

4.3.1 编译失败——gcc版本问题

如果在执行make命令编译的时候出现如下所示错误:

  1. cc1: error: unrecognized command line option "-std=c11"
  2. server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’(比如:server.c:5188:19: error: ‘struct redisServer’ has no member named ‘sofd’)

这一般都是 gcc的版本 不够引起的问题。

最新的redis6.0版本貌似需要gcc版本是5.3以上的。
采用如下方式升级gcc版本,或者自行下载指定版本安装()

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

注意:

scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
如果要长期生效的话,执行如下:

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

这时候你可以再看一下gcc的版本号

在这里插入图片描述

五、配置文件简单说明

5.1 redis.conf配置文件

Windows环境中名为 redis.windows.conf

可以直接使用cat、vim、less等Linux内置的读取命令读取该文件,或者也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。

这里列举一些比较重要的配置项

配置项名称 配置项值范围 说明
daemonize yes、no Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no )
port 6379 指定 Redis 监听端口,默认端口为 6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-mode yes 、no 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout 300 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
loglevel debug、verbose、notice、warning 日志级别,默认为 notice
databases 16 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompression yes、no 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilename dump.rdb 指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH < password> 命令提供密码,默认关闭
maxclients 0 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemory XXX < bytes> 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

更多配置可以参考 https://www.runoob.com/redis/redis-conf.html

六、Redis 命令

6.1 redis服务查看相关命令

6.1.1 查看Redis是否正在运行

  1. 采取查看进程方式

    ps -aux | grep redis

    在这里插入图片描述

  2. 采取端口监听查看方式

    netstat -lanp | grep 6379

    在这里插入图片描述

6.2 redis操作命令

此处暂时先不写了,后边专门写一篇相关命令。

七、Redis桌面可视化工具安装

7.1 redis desktop manager

在这里插入图片描述

目前这个工具是收费的了。

7.2 Redis Client

项目地址: https://github.com/caoxinyu/RedisClient

7.3 Redis Studio

项目地址: https://github.com/cinience/RedisStudio

转载地址:http://lesui.baihongyu.com/

你可能感兴趣的文章
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
关于共享单车定位不准问题
查看>>
终于搞定CString和string之间转换的问题了
查看>>
用防火墙自动拦截攻击IP
查看>>
补充自动屏蔽攻击ip
查看>>
通信和通讯有什么区别?
查看>>
谷歌走了
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>