reids安装
1.官网下载https://redis.io/download,复制到root家目录 redis-5.0.5.tar.gz
2.解压 tar -zxvf redis-5.0.5.tar.gz
3 进入解压后目录 cd redis-5.0.5/ 下进行编译 make MALLOC=libc
4. make PREFIX=/usr/local/redis install 将redis安装到指定目录,没有此目录 会自动创建
5.安装完成以后,进入对应的目录,会有一个bin目录,进入bin,会有redis的服务端,客户端,启动服务./redis-server 以及客户端的一些命令
6.配置redis.conf配置文件,redis安装以后都有一些默认配置,不过我们一般都会自己配置,回到解压redis的目录下,也就是第3步操作,cd redis-5.0.5/ 下
将redis.conf 复制一份到安装目录,也就是第5步,将文件放到和安装目录下,和的bin目录同一级
cp redis.conf /usr/local/redis
7.修改配置文件
bind :127.7.0.0 需要更改,redis默认绑定的端口,我们需要外部访问,所以需要把这个注释掉
daemonize no 默认不是以守护进程启动,改为yes,就会后台运行,不占用窗口
requirepass 123456 配置redis连接密码 设置密码以后客户端连接redis就需要密码 bin目录下./redis-cli -a 密码 进行连接redis
pidfile /var/run/redis_6379.pid 记录redis pid的文件目录
dbfilename dump.rdb redis保存数据的文件
ps -ef |grep -i redis 查看redis是否在运行
8. 启动redis bin目录下 ./redis-server ./redis.conf 指定redis配置文件
客户端连接redis服务器: bin目录下./redis-cli -a 密码
关闭redis服务端 : 如果在bin目录下: ./redis-cli shutdown (有密码需要加 -a 密码 例如:./redis-cli -a 123456 shutdown)
否则 ./bin/redis-cli shutdown (如果断电等非正常关闭,可能会导致数据丢失)
退出redis客户端 :exit命令 或者是Ctrl +c
查看redis是否运行 ps -ef |grep -i redis 查看redis是否在运行: ps aux | grep redis
配置开机自启etc/rc.d/rc.local中添加 /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
redis命令
9.redis默认设置的key都是永久的 可以通过ttl(返回给定可以的剩余时间) 查看 返回-1 代表永久 返回-2代表失效
(考虑到内存会满,根据业务需求把不常用的给key设置过期时间,减少内存压力,或者说根据redis内存淘汰策略,清除key)
del 命令删除指定的key 删除成功返回1 失败返回0
exists key 判断key是否存在 存在返回1 不存在返回 0
explre 给key 设置有效时间(重新使用set命令覆盖value,时间会失效,变为永久有效) 通过ttl查看(返回给定可以的剩余时间),如果失效,返回-2
setnx key 只有当key不存在时,设置key的值 成功返回1,如果key存在就失败,返回0(可实现分布式锁)
incr key 自增,如果当前key不存在,则初始化为1 ,后续每次执行 incr key自增1 (命令是原子操作)
decr key 自减 每次调用减1
incrby key 10 根据给定的数值增加
decrby key 10 根据给定的数值减
RDB
命令1.手动 save 讲数据刷到磁盘 做持久化,期间redis工作线程阻塞停止操作
bgsave 新启一个子线程进行写入磁盘,做持久化
2.save m n ,自动配置自动触发bgsave,redis.conf配置文件如下
m 代表秒 n代表几次,900秒内发生一次数据存储,就触发bgsave命令刷入到磁盘,三个时间点卡着,进行合理刷入
ave 900 1
save 300 10
save 60 10000
AOF
appendfsync always 每次收到命令就写入磁盘
appendfsync everysec 默认每秒强行写入磁盘一次
appendfsync no 直接不做写入redis主从复制读写分离配置 主写,从读(主节点挂掉会存在单机故障的问题,可升级为哨兵,或者集群解决)
redis.conf配置文件# slaveof ip 加端口
注意,需要关闭防火墙sentOs6的命令chkconfig iptables off(关闭开机自启)
redis启动会在配置文件中找这个配置,然后根据IP、端口,找到它的主机,连接到主机, 主机将会发起一起bgsave(内存同步到磁盘)
然后在将主机的数据拉过来进行同步。此机器为从节点,从节点只能读,不可以写,主节点可以读写=============================================================
redis 5.5 集群搭建步骤
redis 集群搭建---->至少三主三从
真集群需要六台机器,ip不同,端口相同
伪集群一台机器实现,IP相同,端口不同
1.创建redis集群目录 mkdir /usr/local/redis_cluster
2.在/usr/local/redis_cluster目录下创建7001-7006文件夹 mkdir 7001…
3.将redis-conf分别拷贝到7001-7006目录下 cp /usr/local/redis/redis.conf ./7001
4.分别修改每个配置文件:
protected-mode no
端口 port
redis存放pid文件路径 pidfile /var/run/redis_7001.pid
修改redis日志记录文件 logfile /usr/local/redis_cluster/7001/redis-7001.log
redis 数据存放的位置 dir /usr/local/redis_cluster/7001/
注释掉 bind 127.0.0.1 允许所有ip访问
cluster-enabled yes 注释去掉,启用集群
cluster-config-file nodes-7001.conf 配置每个节点的配置文件
cluster-node-timeout 15000 访问集群超时时间
5.然后将配置好的文件,复制到7002-6目录下
6.回到redis的解压目录,将目录下的src拷贝到7001-6 cp -r ./src /usr/local/redis_cluster/7001 …(src有redis,启动命令,以及客户端命令)
7.依次启动redis 回到redis的集群目录 cd /usr/local/redis_cluster/
启动redis ./7001/src/redis-server ./7001/redis.conf
(以上步骤-------创建集群文件夹,分别创建6个redis实例,拷贝src目录以及redis.conf配置文件到相应目录下,以及配置文件的修改
至此6个redis节点启动成功,接下来正式开启搭建集群,以上都是准备条件)
=====创建集群redis5.0一下需要ruby来创建集群,,,,5.0以上不需要了
5.0 以上做法:将redis-cli 复制到/usr/local/bin 相当于环境变量,复制过去以后,用以下命令创建集群redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas -a 123456(-a 为redis连接密码)
成功以后连接redis集群
redis-cli -h 127.0.0.1 -c -p 7001 -a 123456 -h代表host -c 代表集群 -p 代表连接到集群的哪个端口 -a 代表redis连接密码
info replication 查看当前节点信息
cluster nodes 查看所有节点信息每个主节点都有一定存储数据的槽数,由所有主节点来平分总槽数,数据会被随机存储在某个槽内
(redis集群:自己内部会进行转发命令,从节点如果收到写操作会被随机转发到某个主节点,在某个主节点写数据也会随机转发到某个主节点)5.0以下 搭建集群看如下(版本不同创建集群的方式不同)
8.将src目录下redis-trib.rb 复制到/usr/local/bin/ (bin目录相当于windos下的环境变量,可以在任意地方使用该命令)
redis提供的redis-trib.rb工具,可以创建集群
9.通过redis-trib.rb创建集群
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
报错 /usr/bin/env:ruby 解决安装ruby—yum -y install ruby ruby-devel rubygems rpm-build
在安装 gem install redis
报错 Error installing redis: redis requires Ruby version >= 2.3.0. 解决如下-------
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
安装rvm
curl -sSL https://get.rvm.io | bash -s stable (安装完,应该有usr/local/rvm目录)
查找安装的rvm
find / -name rvm -print
重新编译
source /usr/local/rvm/scripts/rvm
查看支持的ruby版本
rvm list known
安装2.2.5的ruby
rvm install 2.5.5
使用这个版本
rvm use 2.5.5
将这个版本设为默认的
rvm use 2.5.5 --default
查看ruby版本
ruby --version
最后在进行安装
gem install redis
安装完成以后创建集群(保证6个redis服务启动)
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
linux 安装redis 到指定目录 linux redis5安装
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
5-Docker实例-安装redis
5-Docker实例-安装redis
redis docker Redis -
nginx 格式转换
看到Nginx的速度,相信好多朋友都想从Apache转向Nginx了,我也不例外。今天就在ubuntu下面尝试了一下Nginx的安装和配置。这里将安装配置过程中遇到的问题分享给大家,希望对大家有所帮助。(部分教程转载于网上资料) Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议
nginx 格式转换 LinuxMySQLPHPMySQL开源 Linux Nginx Apache