redis安装及主从配置

简介:

一、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


相关文章
|
6月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
3月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
582 5
|
9月前
|
NoSQL 数据可视化 关系型数据库
安装 Redis
本文主要介绍了Linux系统下Redis的安装步骤,包括卸载旧版本、下载新版本、编译安装以及配置启动等详细操作,并解释了Redis默认端口6379的由来。同时,文章还简要说明了Windows环境下Redis的下载与服务安装方法。最后,推荐了几款Redis可视化管理工具,如RedisView、QuickRedis、AnotherRedisDesktopManager和RedisPlus,提供了它们的功能特点及下载链接,方便用户根据需求选择合适的工具进行数据库管理。
681 1
|
6月前
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
548 9
|
8月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
945 16
|
8月前
|
JSON NoSQL Redis
在Rocky9系统上安装并使用redis-dump和redis-load命令的指南
以上步骤是在Rocky9上使用redis-dump和redis-load命令顺利出行的秘籍。如果在实行的过程中,发现了新的冒险和挑战,那么就像一个勇敢的航海家,本着探索未知的决心,解决问题并前进。
271 14
|
10月前
|
NoSQL Ubuntu 网络安全
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
500 1
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。同时,定期监控和维护Redis实例,及时调整配置,能够确保系统的稳定运行。希望本文对您在Redis的配置与优化方面有所帮助。
204 23
|
10月前
|
NoSQL Java Redis
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 安装
本教程介绍在 VMware 虚拟机(CentOS 7)或阿里云服务器中安装 Redis 的过程,包括安装 gcc 编译环境、下载 Redis(官网或 wget)、解压安装、修改配置文件(如 bind、daemonize、requirepass 等设置)、启动 Redis 服务及测试客户端连接。通过 set 和 get 命令验证安装是否成功。适用于初学者快速上手 Redis 部署。
321 0