1.安装Redis
解压redis,注意操作系统32还是64.把redis.conf放在redis的根目录下,
2.启动Redis
redis-server.exe redis.conf
这个窗口要保持开启 关闭时redis服务会自动关闭
注:redis会自动保存数据到硬盘 所以如果是第二次开启时 多了一个 DB loaded from disk
3.测试Redis
另外开启一个命令行窗口 进入redis目录下(注意修改自己的ip)
redis-cli.exe -h 192.168.1.1 -p 6379 <本地IP>
set name star
get name
4.注意
在操作过程中,Redis通过快照(snapshotting)方式默认保存到硬盘中,Redis默认会将快照文件存储在当前目录(可CONFIG GETdir来查看)的dump.rdb文件中,可以通过配置dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。
一.安全性
为redis设置密码:设置客户端连接后进行任何其他指定前需要实用的密码。
警告:因为redis速度非常快,所以在一台较好的服务器下,一个外部用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。
修改密码的方法:
只需要在redis的配置文件redis.conf中开启requirepass就可以了,比如我设置我的访问密码是123456
227行------->requirepass 123456
在redis.conf中加入这一行代码之后,需要重新启动,然后我们用客户端(redis-cli)发现还能登陆进来,但是当我们执行操作的时候,比如keys*就会如下错误:
如图:
在这里redis支持两种授权方式,一种就是直接用auth命令进行授权:
输入正确的密码,返回ok,授权成功,之后就可以进行所有的操作。
如果我们不想每次登录进来之后都要用auth进行授权,那么我们可以采用另一种授权方式,就是在登陆客户端的时候用-a来指定密码
如图:
上面的密码如果输错,也能进入,但是之后不能进行操作。需要用auth重新进行授权。
二:主从复制
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。
执行过程:
1.slave与master建立连接,发送sync同步命令。
2.Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。
3.后台完成保存后,将文件发送给slave
4.slave将文件保存到硬盘上
特点:
1.master可以有多个slave
2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构(这样做的原因是如果master down掉之后其中的一台slave立马可以充当master的角色,这样整个服务流程不受影响)
3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave专门用于client的读请求,比如sort操作可以使用slave来处理(需要配置slave)。也可以用来做简单的数据冗余
5.可以在master禁用数据持久化,只需要注释掉master配置文件中的所有save配置,然后只在slave上配置数据持久化即Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作。
实战:
通过上面的介绍,我们对redis的主从复制有了个大概了解,下面讲讲具体怎么配置master/slave。由于条件限制,这里用一台机器,启动两个进程来进行主从复制。
master server配置文件master.conf, 主要配置如下:
port 6379
#save 900 1
#save 300 10
#save 60 10000
slave server配置文件slave.conf,主要配置如下:
注:如果配置了安全认证一定要在slave的配置文件中设置masterauth hejingyuan
Slave1:
port 6380
save 900 1
save 300 10
save 60 10000
slaveof 192.168.24.215 6379
Slave2:
port6381
save 900 1
save 300 10
save 60 10000
slaveof 192.168.24.215 6379
启动master的server及客户端,然后启动两个slave的server及相应的客户端
测试运行: 连接master 的客户端,写入数据;连接 slave 的客户端,读数据
从测试结果看,数据确实自动复制了。通过复制功能,我们可以在master上只写数据,在slave上读数据,关闭master的持久化(或aof)功能(在salve上开启),从而分担master服务器读压力,提高master服务器性能,同时,master挂了,可以快速地用slave server来替换master server,提高系统的可用性。
在实际环境中,我们可以根据redis复制特点,定制适合我们自己的复制架构。比如,采用master server ->slave server ->slave server ->slave server这种一拖一【或一拖一再拖多】的方式,和常规的一拖多方式相比,这种方式更能减少master server在复制数据时的压力。
又如,单台redis主会遇到单点故障的问题,为了解决redis的高可用。接下来我们想达到的目的是,一个master带一个slave,而slave又带了一个slave,这样的好处是,当master故障后,直接把slaver1改为master,其他的配置不需要修改,服务又可以正常使用。
修改相应的配置
将slave2配置文件进行修改,其他不变
save 900 1
save 300 10
save 60 10000
slaveof 192.168.24.214 6379
当master故障后,需要在slave1上首先执行slaveof no one命令,再次执行info Replication时,它已经转为master了,此时slave2不受影响。
相关推荐
Redis Desktop Manager是一款跨平台的图形用户界面(GUI)工具,专为方便开发者和管理员在Windows操作系统上管理和操作Redis服务器而设计。这款工具提供了一个直观的界面,使用户能够轻松地执行常见的Redis命令,如...
"redis window" 指的是在Windows操作系统上运行Redis服务的情况。Redis因其高性能、低延迟和丰富的数据结构而广受欢迎,尤其在处理实时数据流和构建实时应用程序时。 Redis支持多种数据类型,包括字符串(Strings)、...
本资源是“Redis for Windows”的解压版,最新且易于安装与操作,旨在为Windows用户提供便捷的体验。 Redis的核心特性包括: 1. **数据结构丰富的存储**:Redis支持多种数据结构,如字符串(Strings)、哈希(Hashes)...
Redis是一款开源、高性能的键值对存储系统,常被用于数据缓存、消息队列以及数据库功能。在Windows环境下安装和使用...以上是关于“redis(window)”的相关知识点,希望对你理解和使用Windows环境下的Redis有所帮助。
标题"php redis 64位window安装包"表明我们要讨论的是在64位Windows操作系统上安装PHP Redis扩展的过程。以下是一些关键步骤和知识点: 1. **安装Redis服务器**:首先,你需要下载Redis的Windows版本。压缩包中的`...