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

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

1.下载软件包

# cd /usr/local/src/

# wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz

1

2

# cd /usr/local/src/

# wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz

2. Redis安装

主从都需要安装

# tar -xzvf redis-2.6.11.tar.gz

# mv redis-2.6.11 /usr/local/

# cd /usr/local/redis-2.6.11/

# make

1

2

3

4

# tar -xzvf redis-2.6.11.tar.gz

# mv redis-2.6.11 /usr/local/

# cd /usr/local/redis-2.6.11/

# make

备注:这边就不make install 了,直接使用make好的文件

3. redis配置

找到配置文件/usr/local/redis-2.6.11/redis.conf

修改如下内容:

daemonize no 改为 yes # 是否后台运行

port 6379 改为 12002 # 端口

dir ./ 改为 /data/redis_12002/ 或者/www/redis_12002/ # 数据目录

1

2

3

4

5

找到配置文件/usr/local/redis-2.6.11/redis.conf

修改如下内容:

daemonizeno改为yes# 是否后台运行

port6379改为12002# 端口

dir./改为/data/redis_12002/或者/www/redis_12002/# 数据目录

其他配置请查看相应文档,文章结尾将会附上所有配置参数

4. redis启动与关闭

启动

/usr/local/redis-2.6.11/src/redis-server /usr/local/redis-2.6.11/redis.conf

停止

1

2

/usr/local/redis-2.6.11/src/redis-server/usr/local/redis-2.6.11/redis.conf

停止

/usr/local/redis-2.6.11/src/redis-cli -n 12002 shutdown

1

/usr/local/redis-2.6.11/src/redis-cli-n12002shutdown

5. redis命令测试

先登录shell客户端

/usr/local/redis-2.6.11/src/redis-cli -p 12002

set 测试

redis 127.0.0.1:12002> set name abc

OK

get 测试

redis 127.0.0.1:12002> get name

"abc"

关于list,hash等等就不在演示了,具体查看相关文档

1

2

3

4

5

6

7

8

9

10

11

先登录shell客户端

/usr/local/redis-2.6.11/src/redis-cli-p12002

set测试

redis127.0.0.1:12002>setnameabc

OK

get测试

redis127.0.0.1:12002>getname

"abc"

关于list,hash等等就不在演示了,具体查看相关文档

6. Redis主从配置

6.1 只需要修改slave的配置

找到配置文件/usr/local/redis-2.6.11/redis.conf

修改如下内容:

slaveof 192.168.77.211 12002 # slaveof master的ip master的端口

1

2

3

找到配置文件/usr/local/redis-2.6.11/redis.conf

修改如下内容:

slaveof192.168.77.21112002# slaveof master的ip master的端口

6.2 主从测试

在master set

redis 192.168.77.211:12002> set testms gogogo

OK

在slave get

redis 192.168.77.197:12002> get testms

"gogogo"

1

2

3

4

5

6

7

在masterset

redis192.168.77.211:12002>settestmsgogogo

OK

在slaveget

redis192.168.77.197:12002>gettestms

"gogogo"

7. 附加:redis配置文件

daemonize yes

pidfile /var/run/redis.pid

port 12002

timeout 0

tcp-keepalive 0

loglevel notice

logfile stdout

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /www/redis_12002/

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

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

daemonizeyes

pidfile/var/run/redis.pid

port12002

timeout0

tcp-keepalive0

loglevelnotice

logfilestdout

databases16

save9001

save30010

save6010000

stop-writes-on-bgsave-erroryes

rdbcompressionyes

rdbchecksumyes

dbfilenamedump.rdb

dir/www/redis_12002/

slave-serve-stale-datayes

slave-read-onlyyes

repl-disable-tcp-nodelayno

slave-priority100

appendonlyno

appendfsynceverysec

no-appendfsync-on-rewriteno

auto-aof-rewrite-percentage100

auto-aof-rewrite-min-size64mb

lua-time-limit5000

slowlog-log-slower-than10000

slowlog-max-len128

hash-max-ziplist-entries512

hash-max-ziplist-value64

list-max-ziplist-entries512

list-max-ziplist-value64

set-max-intset-entries512

zset-max-ziplist-entries128

zset-max-ziplist-value64

activerehashingyes

client-output-buffer-limitnormal000

client-output-buffer-limitslave256mb64mb60

client-output-buffer-limitpubsub32mb8mb60

hz10

如上为单机版本redis的配置文件,如果需要改为主从,只需要增加

slaveof 192.168.77.211(redis master IP) 12002(redis master 端口)

1

slaveof192.168.77.211(redismasterIP)12002(redismaster端口)

7. 结束语

当然,这还只是集群的第一步,大家可以使用keepalive来实现主的故障转移功能。工作中我们最常用的要数redis主从,所以keepalive + redis实现高可用性集群这边不在讲述。

linux redis 主从配置,redis集群(主从配置)相关推荐

  1. Windows2012R2配置SQLSERVER2012集群Alwayson配置高可用性

    前言: 最近有个项目做SQLSERVER2012故障转移高可用,并非是做负载均衡的性能优化提升.基于SQLSERVER2012企业版本(注意:这里是企业版不是标准版,标准版是不能启用Alwayson功 ...

  2. 三十六.MHA集群概述 、 部署MHA集群 测试配置

    1.准备MHA集群环境 准备6台虚拟机,并按照本节规划配置好IP参数 在这些虚拟机之间实现SSH免密登录 在相应节点上安装好MHA相关的软件包 使用6台RHEL 7虚拟机,如图-1所示.准备集群环境, ...

  3. Elasticsearch-Jest 配置ES集群源码解读

    文章目录 Jest Github地址 搭建源码环境 Jest配置ES集群 Jest 配置ES集群,确保应用高可用的原理探究 初始化 JestClient NodeChecker 源码分析 发起请求的过 ...

  4. Apollo注册到自己的Eureka注册中心+配置中心集群

    ##重要提示:在任何步骤开始之前,谨记下面的东西## 在对apollo-master这个文件进行处理的时候,要找到文件夹scripts下的文件build.bat,苹果用户请找到build.sh,并且在 ...

  5. ElasticSearch-2.0.0集群安装配置与API使用实践

    ElasticSearch是基于全文搜索引擎库Lucene构建的分布式搜索引擎,我们可以直接使用ElasticSearch实现分布式搜索系统的搭建与使用,都知道,Lucene只是一个搜索框架,它提供了 ...

  6. Redis分片主从哨兵集群,原理详解,集群的配置安装,8大数据类型,springboot整合使用

    文章目录 Redis介绍 Redis分片 Redis主从 Redis哨兵 Redis集群 Redis持久化策略 RDB AOF 持久化方案选择 Redis内存策略 LRU算法 LFU算法 Random ...

  7. Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:爱宝贝丶 my.oschina.net/zhangxufen ...

  8. Redis主从配置和集群配置

    Redis主从配置和集群配置 文章目录 Redis主从配置和集群配置 一.Redis主从配置 1.主从概念 2.主从配置 3.数据操作 二.Redis集群配置 1.简介 2.Redis 集群好处 3. ...

  9. Redis 单例、主从模式、sentinel 以及集群的配置方式及优缺点对比(转)

    摘要: redis作为一种NoSql数据库,其提供了一种高效的缓存方案,本文则主要对其单例,主从模式,sentinel以及集群的配置方式进行说明,对比其优缺点,阐述redis作为一种缓存框架的高可用性 ...

  10. redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展...

    21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键 ...

最新文章

  1. python实现简单计算器功能键介绍_Python实现的简单计算器功能详解
  2. 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)...
  3. Gartner 组织世界BI大会,PowerBI 与 Tableau 同台竞技
  4. 【渝粤题库】陕西师范大学200851 微机实用技术
  5. js Date 生成某年某月的天数
  6. Oracle-11g 基于 NBU 的 rman 冷备份及恢复
  7. 用JavaScript简单编程——基础篇
  8. C++ 单例模式 模版类(Meyers‘ Singleton)
  9. Python 通过打码平台实现验证码
  10. 联想微型计算机q190怎么拆,联想q190迷你小主机上网怎?
  11. 用键盘输入一位整数,当输入1~7时,显示对应的英语星期缩写。
  12. word目录怎么自动生成?写作人必学的小技巧
  13. Chrome浏览器更新失败
  14. KubeSphere DevOps 流水线入门指南
  15. phython在file同时写入两个_Flink集成数据湖之实时数据写入iceberg
  16. [ctf.show.reverse] 来一个派森,好好学习天天向上
  17. 湖仓一体化:铁打的数据仓 流水的数据湖产品
  18. 进程,系统性能和计划任务
  19. 2019年 Android 开源框架 排行榜 TOP 60
  20. 小米note刷android8.1,【Android 8.1.0】RR-O For Xiaomi Mi Note Pro(小米Note顶配版)

热门文章

  1. html5页面主题,HTML5页面开发笔记
  2. java 绘制长方形_Java入门:绘制简单图形
  3. python连接mysql的一些基础知识+安装Navicat可视化数据库+flask_sqlalchemy写数据库
  4. ARM 寄存器 详解
  5. Redis系列三、redis的五种数据结构和相关指令之Hash
  6. Java树形转扁平_js把树形数据转成扁平数据
  7. 华为策略路由加等价路由_华为——防火墙——策略路由配置及思路
  8. 敏捷软件开发宣言ndash;Manifesto for Agile Software Development
  9. 计算机java培训总结,java培训总结范文
  10. php怎么上传函数,php上传函数怎么封装