redis安装及主从配置

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,经济版 1GB 1个月
简介:

一、redis介绍

   redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用

 

二、redis安装与简单配置

   1.安装环境

     本次实验在虚拟机环境完成,VMware 虚拟机。两台centos6.6机器,ip分别为


          Master:192.168.233.129

        Slave:192.168.233.128

   2.redis安装包获取。

     可以在redis官网下载,http://www.redis.io/download 。也可以自行下载rpm包:http://rpm.pbone.net/

     这里我使用的是redis-2.6.11-37.1.x86_64.rpm。

  3.安装与配置

使用ftp工具上传到192.168.233.129机器上。

执行命令:rpm -ivh redis-2.6.11-37.1.x86_64.rpm

A.查看redis包生成哪些文件:

wKiom1k_zH6yam_aAABM_TvCmfs088.png 

B.配置

执行命令cp /etc/redis/default.conf.example /etc/redis/redis.conf

然后编译配置文件redis.conf

我只修改了如下两项:

daemonize yes #redis将以守护进程的方式运行,默认为no会暂用你的终端
timeout 300 #当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

C.创建进程启动和关闭脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
vim  /etc/init .d /redis
#!/bin/sh
#
# redis        Startup script for Redis Server
#
# chkconfig: - 80 12
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source  /etc/init .d /functions
BIN= "/usr/sbin"
CONFIG= "/etc/redis/redis.conf"
PIDFILE= "/var/run/redis.pid"
### Read configuration
[ -r  "$SYSCONFIG"  ] &&  source  "$SYSCONFIG"
RETVAL=0
prog= "redis-server"
desc= "Redis Server"
start() {
         if  [ -e $PIDFILE ]; then
              echo  "$desc already running...."
              exit  1
         fi
         echo  -n $ "Starting $desc: "
         daemon $BIN/$prog $CONFIG
         RETVAL=$?
         echo
         [ $RETVAL - eq  0 ] &&  touch  /var/lock/subsys/ $prog
         return  $RETVAL
}
stop() {
         echo  -n $ "Stop $desc: "
         killproc $prog
         RETVAL=$?
         echo
         [ $RETVAL - eq  0 ] &&  rm  -f  /var/lock/subsys/ $prog $PIDFILE
         return  $RETVAL
}
restart() {
         stop
         start
}
case  "$1"  in
   start)
         start
         ;;
   stop)
         stop
         ;;
   restart)
         restart
         ;;
   condrestart)
         [ -e  /var/lock/subsys/ $prog ] && restart
         RETVAL=$?
         ;;
   status)
         status $prog
         RETVAL=$?
         ;;
    *)
         echo  $ "Usage: $0 {start|stop|restart|condrestart|status}"
         RETVAL=1
esac
exit  $RETVAL


D. 启动和关闭

Service redis start

Service redis stop

查看进程信息

wKioL1k_zK_zSJKzAAAZ2Jy_vfk092.png 

查看端口信息

wKiom1k_zLzS4jfYAAAQowAYPuc312.png 

4.测试

 wKiom1k_zNPgGYvwAAAVIiuf9jw270.png

三、Redis主从配置

 redis主从复制和大部分主从类似,一个master可以有多个slave,支持链式复制,master以非阻塞的方式同步数据至slave。启动一个slave后,slave会向主发送同步命令,请求同步主库上的数据,master将启动一个后台的子进程,将数据快照保存至在数据文件中,把数据文件发送给slave,slave将数据文件保存至本地中,在本地重建数据库后载入内存,同步完成。

   

redis主从的特点:

a、redis使用异步复制,从服务器会以每秒一次的频率向主服务器报告复制流的处理进度

b、一个主服务器可以有多个从服务器,从服务器也可以有自己的从服务器(级联复制)

c、复制功能不会阻塞主服务器,即使一个或多个从服务器正在进行初次同步,主服务器也可以继续处理命令请求

d、复制功能可以用于数据冗余,也可以通过让多个从服务器处理只读命令请求来提升扩展性

e、Redis从节点默认为只读,无须手动配置,redis的主从集群可以实现分担压力的效果,但是无法做到高可用,如果master宕掉,服务就不可用了,所以使用redis的sentinel可以实现HA的功能。

 

1.按照上述同样的方法在slave(192.168.233.128)上安装redis

2.修改两台机器的redis.conf文件,修改bind参数等于自己的IP

3.slave机器上修改redis.conf,设置slaveof值:

 slaveof 192.168.233.129 6379

4.配置完之后启动slave的Redis服务,OK,主从配置完成

四、测试

1.分别在master和slave上执行info命令查看

  Master:

wKiom1k_zOrz5Wp4AAAMLsxeFrk634.png 

  Slave:

wKiom1k_zPzBl9DgAAAZ9a5EbbQ074.png 

2.在master上set一个值,slave上get查看。

Master:

wKioL1k_zRewV6jJAAAPWhT7oB8719.png 

Slave:

wKiom1k_zSbgJ8-_AAAV2TVHZA4394.png 

至此,搭建完成。


本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/1935119


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
11天前
|
缓存 NoSQL Redis
Redis主从架构
当看到图示中红色标记的,就代表从节点挂载成功了。
12 0
|
2天前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
2天前
|
弹性计算 NoSQL 网络安全
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
|
4天前
|
存储 消息中间件 缓存
apt安装Redis 7
【7月更文挑战第2天】
|
9天前
|
存储 NoSQL 安全
Redis系列学习文章分享---第十五篇(Redis最佳实践--设计优雅的key+合适的数据结构+持久化如何配置+慢查询问题解决)
Redis系列学习文章分享---第十五篇(Redis最佳实践--设计优雅的key+合适的数据结构+持久化如何配置+慢查询问题解决)
15 1
|
9天前
|
存储 NoSQL 关系型数据库
Redis系列学习文章分享---第一篇(Redis快速入门之初始Redis--NoSql+安装redis+客户端+常用命令)
Redis系列学习文章分享---第一篇(Redis快速入门之初始Redis--NoSql+安装redis+客户端+常用命令)
27 1
|
1天前
|
NoSQL Linux Redis
redis的安装和配置
redis的安装和配置
9 0
|
2天前
|
NoSQL Redis Windows
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
|
2天前
|
Java Redis 数据安全/隐私保护
Redis14----Redis的java客户端-jedis的连接池,jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,最好用jedis连接池代替jedis,配置端口,密码
Redis14----Redis的java客户端-jedis的连接池,jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,最好用jedis连接池代替jedis,配置端口,密码
|
2天前
|
NoSQL Redis Windows
windows安装redis
windows安装redis
9 0