Redis概述与安装

Redis安装与配置

安装包下载

Windows版下载(Redis官方网站没有提供Windows版的安装包,但可以通过GitHub来下载Windows版Redis安装包):

https://github.com/tporadowski/redis/releases

注:Windows安装包都是某位民间“大神”根据Redis源码改造的,并非Redis官方网站提供,能用行就行。

Linux版的下载:

https://download.redis.io/releases/

Windows下配置

根据上述Windows版下载地址(其它自行搜的一样),即可查看到能下载的安装包(msi后缀名)或者是解压版(zip文件)的Redis。msi安装版本的,直接下一步下一步就是了,网上一搜有的是教程就不过多阐述了。

对于作者来说习惯性手动配置,所以一般选用zip解压版的,解压之后就获得一个文件夹(这里就不截图展示了,网上一搜一大把),关注几个核心文件即可(最关键的点,是注意是把这个解压之后的文件夹放哪里)。

Windows版本的安装目录下有两个配置文件:

  • redis.windows-service.conf
  • redis.windows.conf

直接点击安装目录下的redis-server.exe会默认加载redis.windows-service.conf的配置。因此想要加载redis.windows.conf的配置,只需在安装目录下运行控制台,输入:redis-server redis.windows.conf即可。

关于redis.windows.conf文件详解,网络上也一搜一大把,如果需要连接或者配置自行搜索即可;如果你只是想简单启动,无需进行特别的配置。只需要关注端口和几个默认的配置即可:

  • port:端口,默认6379
  • requirepass:密码,默认无密码。(注:这个密码管理所有的Redis库的密码)
  • databases:默认16个数据库,类似数组的下标从0开始,初始默认使用0号库

Windows下启动

在CMD命令窗口下(快捷键:Win+R输入cmd),进入Redis目录(你自己解压之后的Redis目录)输入如下命令即启动:

redis-server.exe redis.windows.conf

启动界面,最熟悉不过了。

可以自定义一个bat文件方便启动(个人自用):

@echo off
echo redis start......
title redis-server
set ENV_HOME="D:\Redis"  # 作者Redis解压目录的位置,自行修改位自己的
D:
color 0a   # 改变控制题的背景和字的颜色,为了好看,可以注释掉
cd %ENV_HOME%
redis-server.exe redis.windows.conf
exit

复制上面代码,记事本另存为bat文件即可,放在桌面,想用双击运行。

还可以将Redis注册成Windows服务,在CMD命令窗口下(Redis解压目录的位置),输入命令如下:

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

快捷键:Win+R再输入services.msc即可查看到redis服务已注册完成。

Linux下配置

通过https://download.redis.io/releases/下载相应版本的redis,具体哪个版本自己决定,这里作者选择了6.2.1版本。将下载好的“redis-6.2.1.tar.gz”文件发送上传到Linux上,位置自已决定即可。

以下操作都是作者环境下操作,请对应您的环境配置。

作者这里选择在“/usr/local/”下创建了一个“redis”目录:

/usr/local/redis

将“redis-6.2.1.tar.gz”文件发送上传该目录下并解压:

tar -zxvf redis-6.2.1.tar.gz

进入“redis-6.2.1”目录并编译:

cd /usr/local/redis/redis-6.2.1/
make

一般情况下make不会出现问题,但是可能会出现如下几个问题:

  • 报错"cc:未找到命令",原因是系统中缺少gcc,安装gcc即可。

    yum install gcc
    
  • 其它问题自行搜索解决,因为每个人的环境确实不太一样,作者这里用了算是一个新创建的Linux系统Centos7.9版本。

继续,编译完成就可以安装redis了:

make PREFIX=/usr/local/redis/redis-6.2.1 install

# PREFIX关键字的作用是编译的时候用于指定程序存放的路径
# 例如:这里我指定了redis必须存放在/usr/local/redis/redis-6.2.1目录,这是我先前预设的目录
# 假设不添加该PREFIX关键字
# Linux会将可执行文件存放在/usr/local/bin目录
# 库文件会存放在/usr/local/lib目录
# 配置文件会存放在/usr/local/etc目录
# 其他的资源文件会存放在usr/local/share目录
# 这里指定目录也方便后续的卸载,后续直接 rm -rf /usr/local/redis/redis-6.2.1 即可删除redis

等待安装成功,这样在“/usr/local/redis/redis-6.2.1”会出现一个“bin”目录:

[root@VM-24-15-centos redis-6.2.1]# cd bin/
[root@VM-24-15-centos bin]# ll
total 24792
-rwxr-xr-x 1 root root  6556664 Nov 14 15:46 redis-benchmark
lrwxrwxrwx 1 root root       12 Nov 14 15:46 redis-check-aof -> redis-server
lrwxrwxrwx 1 root root       12 Nov 14 15:46 redis-check-rdb -> redis-server
-rwxr-xr-x 1 root root  6765592 Nov 14 15:46 redis-cli
lrwxrwxrwx 1 root root       12 Nov 14 15:46 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 12061704 Nov 14 15:46 redis-server

目录介绍:

  • redis-benchmark:性能测试工具,可以在自己本机允许,看看自己本机性能如何
  • redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
  • redis-check-dump:修复有问题的dump.rdb文件
  • redis-sentinel:redis集群使用
  • redis-server:redis服务器启动命令
  • redis-clit:客户端,操作入口

Linux下启动

根据上面的操作已经将redis安装完成了。在目录“/usr/local/redis/redis-6.2.1”下启动redis:

./bin/redis-server
# 如果你在bin目录下直接redis-server即可

执行成功,即可看到启动初始界面。

上面这种启动模式,如果你是通过SSH连接Linux的话,关闭SSH窗口,则redis会停止。

另外,可能会出现的情况,执行“redis-server”可能会提示“bash: redis-server: command not found”的错误,这种情况是因为和你可能和我一样,安装redis的时候用了“PREFIX”关键字指定了安装目录。如果你是其它原因,自行搜索吧。

如何解决,将redis安装目录下的bin目录下的所有文件,复制到“/usr/bin”下即可:

cp -r /usr/local/redis/redis-6.2.1/bin/.  /usr/bin
# /usr/local/redis/redis-6.2.1/bin/ 是我本机的redis的bin目录
# /usr/local/redis/redis-6.2.1/bin/ 后面还有个点,别落下

Linux下启动(配置后端启动)

步骤如下:

复制redis.conf文件到/etc目录:

cp /usr/local/redis/redis-6.2.1/redis.conf /etc
# /usr/local/redis/redis-6.2.1/ 是我本机的redis目录

使用vi命令修改/etc/redis.conf中的配置,将后台启动设置daemonize改为yes,如下:

daemonize yes

启动redis:

redis-server /etc/redis.conf

通过查看redis进程命令:

ps -ef | grep redis

关闭redis

  • 方式1,直接kill,kill -9 redis的pid。我相信你和我一样,喜欢用这个方式。
  • 方式2,redis-cli shutdown

进入redis命令窗口

执行 redis-cli 即可进入redis命令窗口,然后就可以执行redis命令了:

redis-cli
127.0.0.1:6379> 

如果需要在远程redis服务上执行命令:

redis-cli -h host -p port -a password
# 例如:redis-cli -h 127.0.0.1 -p 6379 -a "mypassword"

我相信你,肯定不会在"特别"的情况下,用这种方式操作redis。

我相信你,肯定不会在"特别"的情况下,用这种方式操作redis。

redis命令大全

参考:http://doc.redisfans.com/

redis介绍相关知识

  • 默认端口6379
  • 默认16个数据库,类似数组的下标从0开始,初始默认使用0号库
  • 使用select <dbid>来切换数据库,如:select 1,切换到第2个库
  • 统一密码管理,所有的库密码相同
  • dbsize:查看当前数据库的key的数量
  • flushdb:情况当前库
  • flushall:清空全部库

redis.conf几个重要的配置项

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值