系列教程都是从网络上收集和本人的理解所编辑而成,仅供广大爱好者学习所用,请尊重本人的劳动成果。欢迎评论指正和转帖!(请保留连接谢谢!)
《Redis安装》
下载地址http://redis.io/download
安装步骤:
1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下
2 进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz
3 进入到redis-3.0.0目录下,进行编译 make
4 进入到src下进行安装 make install 验证(ll查看src下的目录,有redis-server 、redis-cil即可)
5 建立俩个文件夹存放redis命令和配置文件
mkdir -p /usr/local/redis/etcmkdir -p /usr/local/redis/bin
6 把redis-3.0.0下的redis.conf 移动到/usr/local/redis/etc下,
cp redis.conf /usr/local/redis/etc/
7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server
文件移动到bin下,命令:
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
8 启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以修改redis.conf里的 daemonize 改为yes)
9 验证启动是否成功:
ps -ef | grep redis 查看是否有redis服务 或者 查看端口:netstat -tunpl | grep 6379
进入redis客户端:./redis-cli
退出客户端:quit
退出redis服务三种方法:
(1)pkill redis-server
(2)kill 进程号
(3)/usr/local/redis/bin/redis-cli shutdown
《Redis主从复制》
原理:从服务器找主服务器,主服务器可读可写,从服务器只能读不能写。
配置:在从服务器中配置一句:slaveof 主服务器IP地址 主服务器端口号。
《Redis哨兵》
原理:在从节点的任意一台机器上部署,或者开启一台新机器进行部署。
配置:修改redis中的sentinel.conf文件。
port 26378(自己取IP地址)
dir "/tmp"
sentinel monitor master1 10.46.28.2 6378 1
sentinel down-after-milliseconds master1 5000
sentinel failover-timeout master1 5000
sentinel config-epoch master1 80
loglevel notice
logfile "/home/www/output/redis/logs/redis-sentinel.log"
# Generated by CONFIG REWRITE
sentinel leader-epoch master1 5049
sentinel current-epoch 5049
启动: ./redis-server ./sentinel.conf
查看: ./redis-cli -h 192.168.1.121 -p 26379 info Sentinel
关闭: ./redis-cli -h 192.168.1.121 -p 6379 shutdown
《Redis事务》
进入redis中,执行如下命令:
multi --->开启事务
set xx -->设置值
exec --->确认执行
注意:事务操作不会影响其它的数据,仅仅当前出错的数据不能成功,其它是成功的,没有回滚环节。
《 Redis持久化-RDB与AOF的区别》
两种区别就是,一个是持续的用日志记录写操作,crash后利用日志恢复;一个是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。
选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)。rdb这个就更有些 eventually consistent的意思了。
参考:http://blog.youkuaiyun.com/jackpk/article/details/30073097
《Redis集群》
原理:主要是修改redis.conf文件中的配置,来实现多redis集群,可以用一台电脑或多台电脑。
实现:
1.把redis.conf文件放置在统一的位置,方便管理。
2.修改里面的配置:
a.daemonize --->yes
b.port --> 设置成独立的,类似的:7000。。。。70001
c.bind --> 必须要绑定当前机器的IP地址
d.dir --> 指定数据文件存放的位置,有RDB和A0F模式
e.cluster-enabled --> yes 设置集群模式
f.cluster-config-file -->对应设置每个conf文件,用端口号+名字的方法 例如:redis7000.conf
g.cluster-node-timeout -->设置节点超时时间 5000
h.appendonly -->yes
3.由于redis集群需要ruby,所有需要安装
a.yum install runby
b.yum install rubygems
c.gem install redis (插件)
4.运行单个的redis
5.启动集群
./redis-trib.rb create --replicas 1(主从占比,从除以主) 192.168.1.121:7001 192.168.1.121:7002 192.168.1.121:7003 192.168.1.121:7004 192.168.1.121:7005 192.168.1.121:7006
《访问集群某个节点》
./redis-cli -c -h 192.168.1.121 -p 7001
《新增集群从节点》
./redis-trib.rb add-node 192.168.1.121.7007(新增节点) 192.168.1.121.7001(主节点)默认是主节点,但是不能存放数据,需要分配存储数据的空间
./redis-trib.rb reshard 192.168.1.121.7007 (增加存储数据的空间)
1.设置存储空间
2.输入ID号
3.输入 all 表示平均分配
4.输入yes
《新增集群主节点》
./redis-trib.rb add-node 192.168.1.121.7008(新增节点) 192.168.1.121.7001(默认是主节点,变成从节点)
./redis-cli -c -h 192.168.1.121 -p 7008 (登陆后输入下面命令)
cluster replicate id(主节点id)
《删除集群从节点》
./redis-trib.rb del-node 191.168.1.121:7008 id(节点id)
删除集群主节点》
删除主节点之前,我们要把数据移动到其它节点上。
./redis-trib.rb reshard 192.168.1.121.7007 (增加存储数据的空间)
1.设置存储空间
2.移动到哪个ID号
3.输入done 表示结束
4.输入yes
执行删除
./redis-trib.rb del-node 191.168.1.121:7008 id(节点id)