Redis是一款高性能的内存数据库,体积轻,性能高,广泛应用于企业。在Windows上安装Redis安装Redis是为Linux系统设计的,但也有团队将它们移植到Windows。我们可以到这里下载Windows版的Redis。如果您使用NuGet或Chocolatey,您还可以使用这些工具来安装RedisforWindows。#NugetPM>Install-PackageRedis-64#Chocolateychocoinstallredis-64但是我不会使用Windows移植版的Redis,因为Redis是为Linux设计的,大部分公司使用的服务器也是Linux系统,所以我们还不如直接学习Linux版Redis的安装和使用。Linux安装相比之下,由于Redis从一开始就被设计为在Linux上使用,所以Linux的安装相对简单。主流Linux系统的官方软件仓库中应该都有Redis软件,直接使用对应的包管理器安装即可。例如,在ArchLinux中,使用以下命令安装redis。sudopacman-Sredis对于其他Linux系统,使用它们的包管理器安装Redis。安装完成后,使用以下命令启动Redis。#让redis自动启动systemctlenableredis#启动redissystemctlstartredisDocker安装其实最好的方式就是使用Docker来安装Redis。由于Docker的容器化特性,我们可以在镜像中打包一个配置好的Redis。比如Ruby、PostGreSQL、Redis等软件都直接打包在著名的GitlabDocker镜像中,我们无需额外配置就可以直接使用集成的Gitlab。首先拉取Redis镜像。dockerpullredis然后启动Redis镜像,这里的名字可以改成自己想要的名字。dockerrun--namesome-redis-dredis如果需要持久化数据,需要在启动命令中指定数据量。以下命令默认将数据存储在/data中。如果需要自定义数据卷的位置,可以使用--volumes-fromsome-volume-container或-v/docker/host/dir:/data参数。dockerrun--namesome-redis-dredisredis-server--appendonlyyes要使用redis-cli连接到Redis服务器,请使用以下命令。dockerrun-it--linksome-redis:redis--rmredisredis-cli-hredis-p6379详细配置请参考Docker官方文档。配置Redisredis.conf在Linux下,Redis的配置文件默认在/etc/redis.conf中(可能因操作系统而异)。配置文件中有很多注释。仔细阅读之后,我们就可以配置Redis了。可以在此处找到完整的示例文件,techstay/redis.conf。文件看起来很大,但大部分都是注释,实际配置的不多。下面简单介绍一些比较重要的配置。由于刚开始学习Redis,后面就不介绍高级配置了,这里只介绍最基本最重要的配置。单位换算如果需要设置Redis的内存大小和文件大小,需要设置具体的值。单位换算根据以下基本系统换算。不带b的是1000进制,带b的是1024进制。存储单位不区分大小写,所以gb、gB、GB等单位都是一样的。#1k=>1000bytes#1kb=>1024bytes#1m=>1000000bytes#1mb=>1024*1024bytes#1g=>1000000000bytes#1gb=>1024*1024*1024bytes将IP地址绑定到Redisserverwithbindconfiguration指定的IP地址默认为本地环回地址。如果未指定,Redis将在所有网络接口上运行。bind127.0.0.1但是请注意,绑定到所有接口可能会导致安全问题。所以,考虑到安全问题,最好让Redis只绑定几个固定的接口。保护模式Redis可以运行在保护模式下,这需要显式开启保护模式。protected-modeyes如果开启了保护模式,并且:1)没有使用bind显式绑定特定的IP地址;2)不设置密码,那么Redis只会监听本地的IPv4和IPv6环回地址(127.0.0.1和::1)和UnixDomainSockets。端口号默认端口号为6379,如果需要更高的安全性,可以自定义端口号。port6379clienttimeout当客户端在指定时间内(单位:秒)没有做任何动作,Redis会断开连接。默认为0,表示不断开连接。timeout0TCPconnectioninventorytime该参数指定TCP连接将保持多少秒,默认为300秒。tcp-keepalive300daemonmode指定Redis是否以守护模式运行。daemonizenologprinting先说日志级别。日志级别有debug、verbose、notice、warning四种,显示的信息由多到少。如果需要调试,使用前两个日志级别,如果需要在生产环境中使用,建议使用后两个级别。默认值为通知。loglevel通知还可以指定日志文件的位置。如果不指定,则默认直接在控制台输出日志信息。如果Redis以守护进程模式运行,并且没有指定日志文件位置,则日志将输出到/dev/null。logfile""Savetoafile可以设置Redis定期将内存数据保存到文件中,避免服务器关闭后文件丢失。这里可以设置多个值。例如,下面第一行表示每900秒,如果至少有1个key被改变,数据将被保存;第三行表示每60秒,如果至少有10000个key被改变,数据将被保存。save9001save30010save6010000password使用密码可以提高Redis服务器的安全性。需要注意的是,由于Redis的高性能特性,用户每秒最多可以尝试150,000次密码。因此,为了保证安全,密码需要设置的越长越好。requirepassfoobared配置文件还有一些其他的配置,我就不介绍了。如果需要更详细的配置,可以直接查看配置文件的注释,里面对每个配置项都有详细的介绍。Docker配置Docker的Redis镜像没有redis.conf文件。如果你需要这个文件来配置Redis,你可以自己打包一个包含redis.conf的镜像。这需要编写如下所示的Dockerfile。FROMredisCOPYredis.conf/usr/local/etc/redis/redis.confCMD["redis-server","/usr/local/etc/redis/redis.conf"]当然完全没有这个麻烦,直接启动Redis就可以了,镜像的时候可以指定配置文件的位置。这种方式比较灵活简单,如果没有特殊要求,这样也可以。dockerrun-v/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf--namemyredisredisredis-server/usr/local/etc/redis/redis.conf使用Redisredis-cli首先介绍一下Redis的命令行工具redis-cli。我们主要用它来操作Redis服务器。如果想查看帮助信息,可以使用redis-cli--help命令,下面列出了部分输出。#redis-cli--helpredis-cli3.2.8用法:redis-cli[OPTIONS][cmd[arg[arg...]]]-h
