ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:822.08KB ,
资源ID:29600913      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29600913.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Redis安装配置.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Redis安装配置.docx

1、Redis安装配置“纸上得来终觉浅,绝知此事要躬行。”陆游冬夜读书示子聿 学习Redis最好的办法就是动手尝试它。在介绍Redis最核心的内容之前,本章先来介绍一下如何安装和运行Redis,以及Redis的基础知识,使读者可以在之后的章节中一边学习一边实践。1、安装Redis 安装Redis是开始Redis学习之旅的第一步。在安装Redis前需要了解Redis的版本规则以选择最适合自己的版本,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.4版、2.6版),奇数版本是非稳定版(如2.5版、2.7版),推荐使用稳定版本进行开发和在生产环境使用。1) 在POSIX系统中

2、安装 Redis兼容大部分POSIX系统,包括Linux、OS X和BSD等,在这些系统中推荐直接下载Redis源代码编译安装以获得最新的稳定版本。Redis最新稳定版本的源代码可以从地址http:/download.redis.io/redis-stable.tar.gz下载。 下载安装包后解压即可使用make 命令完成编译,完整的命令如下:wget http:/download.redis.io/redis-stable.tar.gztar xzf redis-stable.tar.gzcd redis-stablemake Redis没有其他外部依赖,安装过程很简单。编译后在Redis源

3、代码目录的src文件夹中可以找到若干个可执行程序,最好在编译后直接执行make install命令来将这些可执行程序复制到/usr/local/bin目录中以便以后执行程序时可以不用输入完整的路径。 在实际运行Redis前推荐使用make test命令测试Redis是否编译正确,尤其是在编译一个不稳定版本的Redis时。 提示:除了手工编译外,还可以使用操作系统中的软件包管理器来安装Redis,但目前大多数软件包管理器中的Redis的版本都较古老。考虑到Redis的每次升级都提供了对以往版本的问题修复和性能提升,使用最新版本的Redis往往可以提供更加稳定的体验。如果希望享受包管理器带来的便利

4、,在安装前请确认您使用的软件包管理器中Redis的版本并了解该版本与最新版之间的差异。http:/redis.io/topics/problems中列举了一些在以往版本中存在的已知问题。2) 在OS X系统中安装 OS X下的软件包管理工具Homebrew和MacPorts均提供了较新版本的Redis包,所以我们可以直接使用它们来安装Redis,省去了像其他POSIX系统那样需要手动编译的麻烦。下面以使用Homwbrew安装Redis为例。1安装Homebrew在终端下输入ruby -e (curl -fsSkL Homebrew。如果之前安装过Homebrew,请执行brew update来

5、更新Homebrew,以便安装较新版的Redis。2通过Homebrew安装Redis使用brew install软件包名可以安装相应的包,此处执行brew install redis来安装Redis:$brew install redis=Downloading Already downloaded:/Library/Caches/Homebrew/redis-2.6.9.tar.gz=make -C/private/tmp/redis-OV9u/redis-2.6.9/src CC=cc=CaveatsTo have launchd start redis at login:ln -sfv

6、/usr/local/opt/redis/.plist/Library/LaunchAgentsThen to load redis now:launchctl load/Library/LaunchAgents/homebrew.mxcl.redis.plistOr,if you dont want/need launchctl,you can just run:redis-server /usr/local/etc/redis.conf/usr/local/Cellar/redis/2.6.9:9 files,740K,built in 6 secondsOSX 系统从Tiger版本开始引

7、入了launchd工具来管理后台程序,如果想让Redis随系统自动运行可以通过以下命令配置launchd:ln -sfv/usr/local/opt/redis/.plist/Library/LaunchAgentslaunchctl load/Library/LaunchAgents/homebrew.mxcl.redis.plist通过launchd运行的Redis会加载位于/usr/local/etc/redis.conf的配置文件。3) 在Windows中安装 Redis官方不支持Windows。2011年微软 向Redis提交了一个补丁,以使Redis可以在Windows下编译运行,

8、但被Salvatore Sanfilippo拒绝了,原因是在服务器领域上Linux已经得到了广泛的使用,让Redis能在Windows下运行相比而言显得不那么重要。并且Redis使用了如写时复制等很多操作系统相关的特性,兼容Windows会耗费太大的精力而影响Redis其他功能的开发。尽管如此微软还是发布了一个可以在Windows运行的Redis分支 ,但是考虑到其版本更新速度比较慢(截至本书交稿,其最新的版本是基于Redis 2.4进行开发的),并不建议使用。注释:微软开放技术有限公司(Microsoft Open Technologies Inc.),专注于参与开源项目、开放标准工作组以及

9、提出倡议。注释:见 SOpenTech/Redis。 如果想使用Windows学习或测试Redis可以通过Cygwin软件或虚拟机(如VirtualBox)来完成。Cygwin能够在Windows中模拟Linux系统环境。Cygwin实现了一个Linux API接口,使得大部分Linux下的软件可以重新编译后在Windows下运行。Cygwin还提供了自己的软件包管理工具,让用户能够方便地安装和升级几千个软件包。借助Cygwin,我们可以在Windows上通过源代码编译安装最新版的Redis。1安装Cygwin从Cygwin官方网站()下载setup.exe程序,setup.exe既是Cygw

10、in的安装包,又是Cygwin的软件包管理器。运行setup.exe后进入安装向导。前几步会要求选择下载源、安装路径、代理和下载镜像等,可以根据具体需求选择,一般来说一路单击“Next”即可。之后会出现软件包管理界面,如下图所示。 编译安装Redis需要用到的包有gcc和make,二者都可以在“Devel”分类中找到。在“New”字段中标记为“Skip”的包表示不安装,单击“Skip”切换成需要安装的版本号即可令Cygwin在稍后安装该版本的包。图中所示gcc包的状态为“Keep”是因为作者之前已经安装过该包了,同样如果读者在退出安装向导后还想安装其他软件包,只需要重新运行setup.exe程

11、序再次进入此界面即可。为了方便使用,我们还可以安装wget(用于下载Redis源代码,也可以手动下载并使用Windows资源管理器将其复制到Cygwin对应的目录中,见下文介绍)和vim(用于修改Redis的源代码使之可以在Cygwin下正常编译)。 之后单击下一步,安装向导就会自动完成下载和安装工作了。 安装成功后打开Cygwin Terminal程序即可进入Cygwin环境,Cygwin会将Windows中的目录映射到Cygwin中。如果安装时没有更改安装目录,Cygwin环境中的根目录对应的Windows中的目录是C:cygwin。2修改Redis源代码下载和解压Redis的过程和1)节

12、中介绍的一样,不过在make之前还需要修改Redis的源代码以使其可以在Cygwin下正常编译。首先编辑src目录下的redis.h文件,在头部加入:#ifndef SA_ONSTACK#define SA_ONSTACK 0#endif而后编辑src目录下的object.c文件,在头部加入:#define strtold(a,b) (long double)strtod(a),(b)3编译Redis同1)节一样,执行make命令即可完成编译。注意 Cygwin环境无法完全模拟Linux系统,比如Cygwin的fork不支持写时复制;另外,Redis官方也并不提供对Cygwin的支持,Cygw

13、in环境只能用于学习Redis,运行Redis的最佳系统是Linux和OSX,官方推荐的生产系统是Linux。2、启动和停止Redis 安装完Redis后的下一步就是启动它,本节将分别介绍在开发环境和生产环境中运行Redis的方法以及正确停止Redis的步骤。 在这之前首先需要了解Redis包含的可执行文件都有哪些,下表中列出了这些程序的名称以及对应的说明。如果在编译后执行了make install命令,这些程序会被复制到/usr/local/bin目录内,所以在命令行中直接输入程序名称即可执行。我们最常使用的两个程序是redis-server和redis-cli,其中redis-server

14、是Redis的服务器,启动Redis即运行redis-server;而redis-cli是Redis自带的Redis命令行客户端,是学习Redis的重要工具。1) 启动Redis启动Redis有直接启动和通过初始化脚本启动两种方式,分别适用于开发环境和生产环境。1直接启动直接运行redis-server即可启动Redis,十分简单:$redis-server510114 Dec 20:58:59.944 # Warning:no config file specified,using the defaultconfig.In order to specify a config file use

15、 redis-server/path/to/redis.conf510114 Dec 20:58:59.948 Max number of open files set to 10032.510114 Dec 20:58:59.949 # Server started,Redis version 2.6.9510114 Dec 20:58:59.949 The server is now ready to accept connections on port 6379Redis服务器默认会使用6379端口 ,通过-port参数可以自定义端口号:注释:6379是手机键盘上MERZ对应的数字,ME

16、RZ 是一名意大利歌女的名字。$redis-server -port 63802通过初始化脚本启动Redis在Linux系统中可以通过初始化脚本启动Redis,使得Redis能随系统自动运行,在生产环境中推荐使用此方法运行Redis,这里以Ubuntu和Debian发行版为例进行介绍。在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件,内容如下:#!/bin/sh#Simple Redis init.d script conceived to work on Linux systems#as it does use of the /proc

17、filesystem.REDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cliPIDFILE=/var/run/redis_ REDISPORT.pidCONF=/etc/redis/ REDISPORT.confcase 1 instart)if -f PIDFILEthenecho PIDFILE exists, process is already running or crashedelseechoStarting Redis server.EXEC CONF &fi;stop)if !

18、 -f PIDFILE thenecho PIDFILE does not exist, process is not runningelsePID= (cat PIDFILE)echo Stopping .CLIEXEC -p REDISPORT shutdownwhile -x /proc/ PIDdoecho Waiting for Redis to shutdown .sleep 1doneecho Redis stoppedfi;)echo Please use start or stop as first argument;esac我们需要配置Redis的运行方式和持久化文件、日志

19、文件的存储位置等,具体步骤如下。(1)配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号。(2)建立需要的文件夹。建立表中列出的目录。(3)修改配置文件。首先将配置文件模板复制到/etc/redis目录中,以端口号命名(如“6379.conf”),然后按照下表对其中的部分参数进行编辑。下表需要修改的配置及说明现在就可以使用/etc/init.d/redis_端口号start来启动Redis了,而后需要执行下面的命令使

20、Redis随系统自动启动:Debian(Ubuntu)系统:sudo update-rc.d redis_端口号defaultsRedhat(Centos,Oracle)系统在初始化脚本文件(redis_init_script)是第2行添加如下内容,#chkconfig: 2345 80 90然后执行,chkconfig-addredis_端口号2) 停止Redis考虑到Redis有可能正在将内存中的数据同步到硬盘中,强行终止Redis进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:redis-cliSHUTDOWN当Redis收到SHUTD

21、OWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。Redis可以妥善处理SIGTERM信号,所以使用“kill Redis进程的PID”也可以正常结束Redis,效果与发送SHUTDOWN命令一样。3、Redis集群1) 创建Redis实例参见第二章,创建至少六个Redis实例,比如:10.10.10.123:637910.10.10.123:737910.10.10.123:647910.10.10.123:747910.10.10.123:657910.10.10.123:7579Redis配置参照下面的样例:#GENERALdaemonize notcp-bac

22、klog 511timeout 0tcp-keepalive 0loglevel noticedatabases 16dir /opt/redis/dataslave-serve-stale-data yes#slave只读slave-read-only yes#not use defaultrepl-disable-tcp-nodelay yesslave-priority 100#打开aof持久化appendonly yes#每秒一次aof写appendfsync everysec#关闭在aof rewrite的时候对新的写操作进行fsyncno-appendfsync-on-rewrit

23、e yesauto-aof-rewrite-min-size 64mblua-time-limit 5000#打开redis集群cluster-enabled yes#节点互连超时的阀值cluster-node-timeout 15000cluster-migration-barrier 1slowlog-log-slower-than 10000slowlog-max-len 128notify-keyspace-events hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512li

24、st-max-ziplist-value 64set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes2) 配置集群和主从在

25、终端命令中键入:redis-cli -h 10.10.10.123 -p 6379,然后在当前环境下键入:CLUSTER MEET 10.10.10.123 7379,以此类推,把六个redis实例加入集群中。把10.10.10.123:7379设置为10.10.10.123:6379的从库,在终端命令中键入:redis-cli -h 10.10.10.123 -p 7379,然后在当前环境键入:CLUSTER REPLICATE (可以通过CLUSTER NODES命令查看各个实例的node_id),以此类推,把10.10.10.123:7479设置为10.10.10.123:6479的从库

26、,把10.10.10.123:7579设置为10.10.10.123:6579的从库。3) 分配Slots(槽)可以通过“CLUSTER ADDSLOTS slot . 将一个或多个槽(slot)指派(assign)给当前节点。”命令给Redis实例分配Slots。可以通过init_redis_slots.sh脚本批量分配Slots,脚本如下:#!/bin/bash#Author Wang Weihost=$1port=$2begin=$3end=$4if ! $host then echo please input host ip! read hostfiif ! $port then ec

27、ho please input host port! read portfiif ! $begin then echo please input redis slots begin position! read beginfiif ! $end then echo please input redis slots end position! read endfislots=while $begin -le $end do if $#slots -gt 0 then slots=$slots $begin else slots=$begin fi begin=expr $begin + 1don

28、e#execute redis-cliecho redis-cli -h $host -p $port CLUSTER ADDSLOTS $slots在终端依次键入:./init_redis_slots.sh 10.10.10.123 6379 0 5000./init_redis_slots.sh 10.10.10.123 6479 5001 10000./init_redis_slots.sh 10.10.10.123 6579 10001 16383可以通过CLUSTER NODES查看Slots的分配情况注:slots共有16384个,slots只能分配给主库4、常用集群命令CLUST

29、ER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 节点 CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。 CLUSTER FORGET 从集群中移除 node_id 指定的节点。 CLUSTER REPLICATE 将当前节点设置为 node_id 指定的节点的从节点。 CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。 槽(slot) CLUSTER ADDSLOTS slot . 将一个或多个槽(slot)指派(assign)给当前节点。 CLUSTER DELSLOTS slot . 移除一个或多个槽对当前节点的指派。 CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。 CLUSTER SETSLOT NODE 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽,然后再进行指派。 CLUSTER SETSLOT MIGRATING 将本节点的槽 slot 迁移到 node_id 指定的节点中。 CLUSTER SETSLOT IMPORTING 从 node_id 指定的节点中导入槽 slot 到本节点。 CLUS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1