Redis安装及配置主从复制

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

 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客户端,使用很方便。(以上内容摘自百度百科)

一:下载redis并安装


 
 
  1. [root@server11 ~]# wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz  
  2. [root@server11 ~]# tar -zxvpf redis-2.6.4.tar.gz   
  3. [root@server11 ~]# cd redis-2.6.4  
  4. [root@server11 redis-2.6.4]# make install 

32位操作系统上可能会出现如下报错:
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.6.4/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/root/redis-2.6.4/src'
make: *** [all] Error 2

解决方案参考:
https://groups.google.com/forum/?fromgroups#!topic/redis-db/NI_d00he39o

二:编辑redis配置文件,启动redis


 
 
  1. [root@server11 ~]# mkdir -p /usr/local/redis2/{bin,etc,var}  
  2. [root@server11 redis-2.6.4]# cp redis.conf /usr/local/redis2/etc/  
  3. [root@server11 redis-2.6.4]# cp /usr/local/bin/redis-* /usr/local/redis2/bin/  
  4.  
  5. [root@server11 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //各参数含义在配置文件中有具体的解释和介绍  
  6. daemonize yes   
  7. pidfile /usr/local/redis2/var/redis.pid  
  8. port 6379  
  9. bind 192.168.1.112   
  10. timeout 300   
  11. loglevel notice  
  12. logfile stdout  
  13. databases 16  
  14. save 900 1  
  15. save 300 10  
  16. save 60 10000  
  17. stop-writes-on-bgsave-error yes  
  18. rdbcompression yes  
  19. rdbchecksum yes  
  20. dbfilename dump.rdb  
  21. dir ./  
  22. slave-serve-stale-data yes  
  23. slave-read-only yes  
  24. slave-priority 100  
  25. appendonly no  
  26. appendfsync everysec  
  27. no-appendfsync-on-rewrite no  
  28. auto-aof-rewrite-percentage 100  
  29. auto-aof-rewrite-min-size 64mb  
  30. lua-time-limit 5000  
  31. slowlog-log-slower-than 10000  
  32. slowlog-max-len 128  
  33. hash-max-ziplist-entries 512  
  34. hash-max-ziplist-value 64  
  35. list-max-ziplist-entries 512  
  36. list-max-ziplist-value 64  
  37. set-max-intset-entries 512  
  38. zset-max-ziplist-entries 128  
  39. zset-max-ziplist-value 64  
  40. activerehashing yes  
  41. client-output-buffer-limit normal 0 0 0  
  42. client-output-buffer-limit slave 256mb 64mb 60  
  43. client-output-buffer-limit pubsub 32mb 8mb 60  
  44.  
  45. [root@server11 ~]# /usr/local/redis2/bin/redis-server  /usr/local/redis2/etc/redis.conf   
  46. [root@server11 ~]# netstat -ntpl |grep 6379  
  47. tcp        0      0 192.168.1.112:6379          0.0.0.0:*                   LISTEN      6044/redis-server    
  48.  
  49. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112  
  50. redis 192.168.1.112:6379> set number 100  
  51. OK  
  52. redis 192.168.1.112:6379> get number  
  53. "100"  
  54. redis 192.168.1.112:6379> del number  
  55. (integer) 1  
  56. redis 192.168.1.112:6379> get number  
  57. (nil)  
  58. redis 192.168.1.112:6379> quit 

三: redis主从配置,关闭主节点的redis实例,复制/usr/local/redis2/目录至从节点


 
 
  1. [root@server11 ~]# ps -ef |grep redis  
  2. root      6044     1  0 09:37 ?        00:00:00 /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf  
  3. root      6072 27475  0 09:44 pts/1    00:00:00 grep redis  
  4. [root@server11 ~]# kill 6044  
  5. [root@server11 ~]# scp -rvp /usr/local/redis2/ root@192.168.1.113:/usr/local/  
  6.  
  7. [root@server12 ~]# grep -v '^#'  /usr/local/redis2/etc/redis.conf  |grep -v '^$' //注意红色字体部分  
  8. daemonize yes   
  9. pidfile /usr/local/redis2/var/redis.pid  
  10. port 6379  
  11. bind 192.168.1.113  
  12. timeout 300   
  13. loglevel notice  
  14. logfile stdout  
  15. databases 16  
  16. save 900 1  
  17. save 300 10  
  18. save 60 10000  
  19. stop-writes-on-bgsave-error yes  
  20. rdbcompression yes  
  21. rdbchecksum yes  
  22. dbfilename salve.rdb  
  23. dir ./  
  24. slaveof 192.168.1.112 6379  
  25. slave-serve-stale-data yes  
  26. slave-read-only yes  
  27. slave-priority 100  
  28. appendonly no  
  29. appendfsync everysec  
  30. no-appendfsync-on-rewrite no  
  31. auto-aof-rewrite-percentage 100  
  32. auto-aof-rewrite-min-size 64mb  
  33. lua-time-limit 5000  
  34. slowlog-log-slower-than 10000  
  35. slowlog-max-len 128  
  36. hash-max-ziplist-entries 512  
  37. hash-max-ziplist-value 64  
  38. list-max-ziplist-entries 512  
  39. list-max-ziplist-value 64  
  40. set-max-intset-entries 512  
  41. zset-max-ziplist-entries 128  
  42. zset-max-ziplist-value 64  
  43. activerehashing yes  
  44. client-output-buffer-limit normal 0 0 0  
  45. client-output-buffer-limit slave 256mb 64mb 60  
  46. client-output-buffer-limit pubsub 32mb 8mb 60 

四:分别启动主从节点redis实例并测试


 
 
  1. [root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf   
  2. [root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf   
  3.  
  4. [root@server12 ~]# netstat -ntpl |grep 6379  
  5. tcp        0      0 192.168.1.113:6379          0.0.0.0:*                   LISTEN      16653/redis-server    
  6.  
  7. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112  
  8. redis 192.168.1.112:6379> set number 1  
  9. OK  
  10. redis 192.168.1.112:6379> get number   
  11. "1"  
  12. redis 192.168.1.112:6379> quit  
  13.  
  14. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113  
  15. redis 192.168.1.113:6379> get number  
  16. "1"  
  17. redis 192.168.1.113:6379> del number  
  18. (error) READONLY You can't write against a read only slave.  
  19. redis 192.168.1.113:6379> quit 

 本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1065549如需转载请自行联系原作者


ylw6006

相关实践学习
基于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
相关文章
|
9天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
61 24
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
2月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
156 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
2月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
36 1
|
2月前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
70 1
|
1月前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
345 3
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
45 3