redis安装及主从配置

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

一、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
相关文章
|
2月前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。同时,定期监控和维护Redis实例,及时调整配置,能够确保系统的稳定运行。希望本文对您在Redis的配置与优化方面有所帮助。
81 23
|
3月前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
142 14
|
2月前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。
62 7
|
2月前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
148 7
|
3月前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
219 24
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
254 7
|
4月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
185 4
|
4月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
5月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
67 1
|
5月前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
140 1